HiberObjects

HiberObjects is an Eclipse plugin for object oriented design of classes and unit tests for Java Persistence API (JPA) or Hibernate. PropertyChange support and DTO's for Google Web Toolkit (GWT) can also be generated.

HiberObjects

HiberObjects

     

HiberObjects is an Eclipse plugin for object oriented design of classes and unit tests for Java Persistence API (JPA) or Hibernate. PropertyChange support and DTO's for Google Web Toolkit (GWT) can also be generated.

HiberObjects enables model driven development and testing for JPA and Hibernate. As an example, we show how to design the problem domain for ordering airplane tickets. The user interface is not handled here. This page gives an overview, please refer to the other pages for descriptions on how to set up a project, create class diagrams etc.

HiberObjects will use the information in this class diagram to generate Java classes and Hibernate mapping files (depending on the selected platform for the project). A helper class will also be generated, so just this diagram will generate all the code we need to create a database schema and read and write Java objects in the database.

This is the static model of our application, let's move on to the dynamic behavior. To order a ticket, we need to create a Ticket object and connect it to 1 Customer and 1 Flight.

To select a Flight, the user will go through the following steps:
1. Select an Airport to depart from.
2. Select the destination Airport.
3. Select one of the available Flights between those Airports.
4. Review the price and place the order.

First, the user will select the departure Airport. The listDepartures() method will return all available Airports, the user will select one of them and set Orderticket.departure.

Then, the user will view the destination using listDestinations(). This method will return all Airports that can be reached from the selected departure. The user will select one of them and store OrderTicket.destination.

Finally, the user will select a Flight with listFlights(), which returns all Flights between the selected departure and destination. Then, the user will set OrderTicket.flight to store the selection and call placeOrder() to make the payment.

More detail: http://objectgeneration.com/eclipse/