Package io.ebean

Interface ExampleExpression

All Superinterfaces:
Expression

public interface ExampleExpression
extends Expression
Query by Example expression.

Pass in an example entity and for each non-null scalar properties an expression is added.

By Default this case sensitive, will ignore numeric zero values and will use a Like for string values (you must put in your own wildcards).

To get control over the options you can create an ExampleExpression and set those options such as case insensitive etc.


 // create an example bean and set the properties
 // with the query parameters you want
 Customer example = new Customer();
 example.setName("Rob%");
 example.setNotes("%something%");

 List<Customer> list =
     DB.find(Customer.class)
         .where()
         // pass the bean into the where() clause
         .exampleLike(example)
         // you can add other expressions to the same query
         .gt("id", 2)
         .findList();

 
Similarly you can create an ExampleExpression


 Customer example = new Customer();
 example.setName("Rob%");
 example.setNotes("%something%");

 // create a ExampleExpression with more control
 ExampleExpression qbe = new ExampleExpression(example, true, LikeType.EQUAL_TO)
     .includeZeros();

 List<Customer> list =
     DB.find(Customer.class)
         .where()
         .add(qbe)
         .findList();