ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 15.6\. 查询示例 `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(); ```