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();