Hibernate查询之Example查询
org.hibernate.criterion.Example
类允许你通过一个给定实例构建一个条件查询。此实例的属性值将做成查询条件。
Cat cat = new Cat(); cat.setSex('F'); cat.setColor(Color.BLACK); List results = session.createCriteria(Cat.class) .add( Example.create(cat)) .list();
上面这条语句将查询sex 为 F 而且Color为BLACK的所有Cat记录。
版本属性、标识符和关联被忽略。默认情况下值为null的属性将被排除。
可以自行调整Example使之更实用。Example example = Example.create(cat) .excludeZeroes() //排除值为0的属性 .excludeProperty("color") //排除 color属性 .ignoreCase() //忽略大小写 .enableLike(); //启用模糊查询 List results = session.createCriteria(Cat.class) .add(example) .list();
List results = session.createCriteria(Cat.class) .add( Example.create(cat) ) .createCriteria("mate") .add( Example.create( cat.getMate() ) ) .list();