[b]以下是从帮助文档中复制过来的。
特别要注意版本属性、标识符和关联被忽略。
默认情况下值为null的属性将被排除。
如果你的持久类的属性有int等类型,则须给它赋值,因为默认情况下它的值不是null,而是0。
当然这里也可以自己去设置example,比如.excludeZeroes() .excludeProperty()
详见下文
当为一个criteria构建一个Example事例查询时,也可以同时增加其他的约束。[/b]
[color=red]查询示例[/color]
org.hibernate.criterion.Example类允许你通过一个给定实例 构建一个条件查询。
版本属性、标识符和关联被忽略。默认情况下值为null的属性将被排除。
你可以自行调整Example使之更实用。
你甚至可以使用examples在关联对象上放置条件。
特别要注意版本属性、标识符和关联被忽略。
默认情况下值为null的属性将被排除。
如果你的持久类的属性有int等类型,则须给它赋值,因为默认情况下它的值不是null,而是0。
当然这里也可以自己去设置example,比如.excludeZeroes() .excludeProperty()
详见下文
当为一个criteria构建一个Example事例查询时,也可以同时增加其他的约束。[/b]
[color=red]查询示例[/color]
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();
版本属性、标识符和关联被忽略。默认情况下值为null的属性将被排除。
你可以自行调整Example使之更实用。
Example example = Example.create(cat) .excludeZeroes() //exclude zero valued properties
.excludeProperty("color") //exclude the property named "color"
.ignoreCase() //perform case insensitive string comparisons
.enableLike(); //use like for string comparisons
List results = session.createCriteria(Cat.class) .add(example) .list();
你甚至可以使用examples在关联对象上放置条件。
List results = session.createCriteria(Cat.class) .add( Example.create(cat) ) .createCriteria("mate") .add( Example.create( cat.getMate() ) ) .list();