2016年4月25Criteria的使用

1創建一個Criteria實例
Criteria crit=session.createCriteria(Cat.class);
crit.setMaxResults(50);
list cats=crit.list();

2限制結果集的內容
List cats=sessin.createCriteria(Cat.class)
.add(ResTrictions.like(“name”,”Friz%”))
.add(ResTrictions.between(“weitht”,minweight,maxWeight))
.list();
約束分組
List cats=session.createCriteria(cat.class)
.add(ResTrictions.like(“name”,”Friz%”))
.add(ResTrictions.or(
ResTrictions.eq(“age”,new Integer(0)),
ResTrictions.isNull(“age”)
)).list()
另外一種方式
List cats=session.createCriteria(Cat.class)
.add(ResTrictions.in(“name”,new String[]{“Friz”,”Lisi”,”PK”}))
.add(ResTrictions.disjunciton().add(ResTrictions.isNull(“age”))
.add(ResTrictions.eq(‘age’,new Integer(0)))
.add(ResTrictions.eq(“age”,new Integer(1)))
.add(ResTrictions.eq(“age”,new Integer(2)))
)list();
直接使用sql
List cats=session.createCriteria(Cat.class)
.add(ResTrictions.sql(“lower({alias}.name) like lower(?)”,”Friz%”,Hibernate.STRING)).list()

Property age=Property.forName(“age”);
list cats=session.createCriteria(cat.class).add(ResTrictions.disjunciton()
.add(age.isNull())
.add(age.eq(new Integer(0)))
.add(age.eq(new Integer(1)))
.add(age.eq(new Integer(2)))
).addProperty.forName(“name”).in(new String[]{“Friz”,”lizi”,”pK”}).list()
排序結果
List cats=session.createCriteria(cat.class)
.add(ResTrictions.like(“name”,”Friz”)
.addOrder(Order.asc(“name”))
addOrder(Order.desc(“age”))
.setMaxResults(50)
)list();
關聯
List cats=sessin.createCriteria(Cat.class)
.add(ResTrictions.like(“name”,”F%”)
.createCriteria(“Kittens”)
.add(ResTrictions.like(“name”,”F%”)
.list();))

發佈了50 篇原創文章 · 獲贊 25 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章