All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.avaje.ebean.overview.html Maven / Gradle / Ivy



	Ebean API


Ebean Object Relational Mapping (start at
EbeanServer or Ebean).


Ebean

Provides the main API for fetching and persisting beans with Ebean.

For a full description of the query language refer to Query.

 

EXAMPLE 1: Simple fetch

{@code
// fetch order 10
Order order = Ebean.find(Order.class, 10);
}

EXAMPLE 2: Fetch an Object with associations

{@code
// fetch Customer 7 including their billing and shipping addresses
Customer customer = Ebean.find(Customer.class)
    .fetch("billingAddress");
    .fetch("shippingAddress");
    .setId(7)
    .findUnique();
	
		
Address billAddr = customer.getBillingAddress();
Address shipAddr = customer.getShippingAddress();
}

EXAMPLE 3: Fetch a list of Objects with associations

{@code
// Note: This example shows a "Partial Object".
//       For the product objects associated with the 
//       order details only the product id and name is
//       fetched (the product objects are partially populated).
		
// fetch orders for customer.id = 2
List orderList = Ebean.find(Order.class);
    .fetch("customer")
    .fetch("customer.shippingAddress")
    .fetch("details")
    .fetch("details.product","name")
    .where().eq("customer.id",2)
    .findList();


// Note: Only the product id and name is fetched for the
//       product details. This is referred to as a 
//       "Partial Object" (one that is partially populated).  


// code that traverses the object graph...

Order order = orderList.get(0);
Customer customer = order.getCustomer();	
Address shipAddr = customer.getShippingAddress();

List details = order.getDetails();
OrderDetail detail = details.get(0);
Product product = detail.getProduct();
String productName = product.getName();

}

EXAMPLE 4: Create and save an Order

{@code
// get a Customer reference so we don't hit the database
Customer custRef = Ebean.getReference(Customer.class, 7);

// create a new Order object
Order newOrder = new Order();
newOrder.setStatus(Order.Status.NEW);
newOrder.setCustomer(custRef);

ArrayList orderLines = new ArrayList();
newOrder.setLines(orderLines);
...

// add a line to the order
Product prodRef = Ebean.getReference(Product.class, 41);
OrderLine line = new OrderLine();
line.setProduct(prodRef);
line.setQuantity(10);
orderLines.add(line);
...

// save the order and its lines in a single transaction
// NB: assumes CascadeType.PERSIST is set on the order lines association
Ebean.save(newOrder);

}

EXAMPLE 5: Use another database

{@code
// Get access to the Human Resources EbeanServer/Database
EbeanServer hrServer = Ebean.getServer("HR");
                                    
                              
// fetch contact 3 from the HR database
Contact contact = hrServer.find(Contact.class, 3);
                                    
contact.setStatus(Contact.Status.INACTIVE);
...
                                    
// save the contact back to the HR database
hrServer.save(contact); 	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy