QBC如何通过某个对象中集合的属性来查询结果集

本文介绍如何使用Hibernate Criteria API进行复杂查询操作,特别是针对实体及其关联实体的属性进行过滤。通过示例展示了如何设置查询条件来筛选特定的学生及其相关课程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List<Student> list = session.createCriteria(Student.class)
            //此处增加限制条件必须是Student已经存在的属性
             .add(Restrictions.get("studentNumber", 100020))
            //如果要增加对Student的关联类的属性的限制
            //则必须重新createCriteria()
            //如果此关联属性是集合,则只要集合里任意一个对象的属性满足下面条件即可
            .createCriteria("courses")
            .add(Restrictions.gt("className",name)) .list();

上面的代码表示建立Student类的条件查询,第一个查询条件是直接过滤Student的属性。第二个查询条件则过滤Student的关联实体的属性,其中 courses是Student类的关联实体课程的集合,而className则是课程类Course的属性。值得注意的是,返回的并不是Course对象,而是Student对象的集合。

该方法类似于Query的集合过滤,处理起来个人觉得是最方便的一种方式,详细资料可参考http://www.blogjava.net/Angelaxj2010/archive/2011/11/19/364316.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值