hibernate criteria笔记

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%"));

 

未完待续。。。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值