加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – hibernate criteria API:按子集过滤

发布时间:2020-12-15 02:26:08 所属栏目:Java 来源:网络整理
导读:我有一个包含一组B的类. 我想制作一个Hibernate Criteria来获得所有A的集合,其中Bs集合是某个给定集合的超集. 举个例子: 假设我们有三个A类对象 a1,其中有一组Bs = [b1,b2,b3] a2,设置= [b3,b4,b5] a3,b5] 假设我想得到所有的A,使得它的集合包含[b3,b5]. 然
我有一个包含一组B的类.

我想制作一个Hibernate Criteria来获得所有A的集合,其中Bs集合是某个给定集合的超集.

举个例子:

假设我们有三个A类对象

a1,其中有一组Bs = [b1,b2,b3]
a2,设置= [b3,b4,b5]
a3,b5]

假设我想得到所有的A,使得它的集合包含[b3,b5].
然后结果将是a2和a3

我希望我清楚自己.提前致谢!
曼努埃尔

解决方法

我这样解决了.很难弄清楚这是否奏效,但一旦你看到它就很简单了.

B[] subset = new B[] {b3,b5};
        DetachedCriteria.forClass(A.class).createAlias("bs","b");

        for (B b : subset) {
            criteria.add(Restrictions.eq("b.id",b.getId()));
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读