Hibernate 4.0逻辑表达式或条件贯穿整个类';性质
我有一个项目,我必须在数据库上实现一种惰性搜索 我想做的是使用org.hibernate.criteria.Example,但对 每个属性 例如,假设我有一个如下所示的类Hibernate 4.0逻辑表达式或条件贯穿整个类';性质,hibernate,Hibernate,我有一个项目,我必须在数据库上实现一种惰性搜索 我想做的是使用org.hibernate.criteria.Example,但对 每个属性 例如,假设我有一个如下所示的类 public class Cat{ private String name; private String breed; private Date birthDay; /*getter and setter omitted*/ } 我用一些值设置了所有三个字段 Cat cat2Find = new Cat(
public class Cat{
private String name;
private String breed;
private Date birthDay;
/*getter and setter omitted*/
}
我用一些值设置了所有三个字段
Cat cat2Find = new Cat();
cat2Find.setName("Nabi");
cat2Find.setBreed("That hairless Egyptian cat");
cat2Find.setBirthDay( someDate ); //5th May 2005 for example
我想找一只猫
谁的名字叫“纳比”
或者品种是“埃及无毛猫”
或者谁的生日是2005年5月5日
我尝试使用org.hibernate.criteria.Example,但show_sql向我展示了每个字段的用法和条件。
我还尝试将org.hibernate.criteria.disconction与LogicalPression结合使用
但是遍历所有字段太麻烦了
我想知道是否有像Criteria.Example这样工作的类,但带有和的条件
每个字段或我可以选择“和”或“或”
感谢您抽出时间:)
通过这种方式,您可以使用“AND”/“或“进行简单查询,谢谢,但是有没有一种方法可以在不为bean中的每个属性添加限制的情况下进行查询?就像criteron,举个例子?
// Use disjunction() or conjunction() if you need more than 2 expressions
Disjunction aOrBOrC = Restrictions.disjunction(); // A or B or C
aOrBOrC.add(Restrictions.eq("b", "a"));
aOrBOrC.add(Restrictions.eq("b", "b"));
aOrBOrC.add(Restrictions.eq("b", "c"));
// Use Restrictions.and() / or() if you only have 2 expressions
crit.add(Restrictions.and(Restrictions.eq("a", "abc"), aOrBOrC));