hibernate criteria笔记

xiaoxiao2026-08-26  23

1.创建一个criteria实例,刚方法是一个简单的获取实体BEAN的所有对象

Session session=sessionFactory.openSession(); Criteria crit =session.createCriteria(User.class); List list = crit.list();

 2.通过Restrictions限制结果集的内容,该方法的子类很多有eq(判断是否相等),isNull(是否为空),sql等,userName必须是实体bean的映射属性

Criteria crit =session.createCriteria(User.class) .add(Restrictions.like("userName","%a%")) //模糊查询 .add(Restrictions.between("moble","4","8")); //在两者之间

3.通过Property.forName获取条件字段

Property moble = Property.forName("moble");  //mobile是实体BEAN映射表的一个字段 Criteria crit=session.createCriteria(User.class)   .add( Restrictions.disjunction()   .add( moble.isNull() )   //判断该字段是否为空   .add( moble.eq("4" ) )   .add( moble.eq( "5" ) )   .add( moble.eq( "6" ) )   ).add( Property.forName("userName").in( new String[] { "iaspec", "admin", "yfga" } ) );

 

4.对结果集进行排序

Criteria crit = session.createCriteria(User.class)  .add( Restrictions.like("userName", "%%"))  .addOrder( Order.asc("isvalid") )  //升序  .addOrder( Property.forName("moble").desc())  //降序  .setMaxResults(50);  //设置最大条数

 

5.表关联

Criteria crit = session.createCriteria(User.class)  .add( Restrictions.like("name", "F%"))  .createCriteria("role")  //创建一个新实例,实现相关联  .add( Restrictions.like("name", "F%"));

 

未完待续。。。

 

 

转载请注明原文地址: https://www.6miu.com/read-5051909.html

最新回复(0)