@ElementCollection 的 jpa criteriabuilder

发布于 2024-11-18 11:10:08 字数 698 浏览 0 评论 0原文

这个简单的 jpl 的等效 CriteriaBuilder 是什么?

TypedQuery<Sample> query = em.createQuery("from Sample s, In(s.friends) f where f = :friend", Sample.class).setParameter("friend", friend);
// query yields: select sample0_.id as id39_ from Sample sample0_ inner join Sample_friends friends1_ on sample0_.id=friends1_.Sample_id where friends1_.friends=?
return query.getResultList();

我已经使用 .in() .join().member() 尝试了数十种公式,但均无济于事。 .in 仅用作 where 子句,而不是 from 的一部分。 .join 似乎需要在 where 中使用时取消对属性的引用。和 .member 仅适用于非元素类型(完整实体作为包含的引用)。 [我可以发布我徒劳的尝试。我已将 join() 机制用于其他集合,其中连接的对象是一个实体,但我不知道如何使用元素。]

What's the equivalent CriteriaBuilder for this simple jpl?

TypedQuery<Sample> query = em.createQuery("from Sample s, In(s.friends) f where f = :friend", Sample.class).setParameter("friend", friend);
// query yields: select sample0_.id as id39_ from Sample sample0_ inner join Sample_friends friends1_ on sample0_.id=friends1_.Sample_id where friends1_.friends=?
return query.getResultList();

I've tried dozens of formulations using .in() .join() and .member() to no avail. .in only works as a where clause not as part of the from. .join seems to require a dereference to an attribute when using in the where. and .member only works on non-elemental types (full entities as the contained reference). [I can post my vain attempts. I've used the join() mechanism for other collections where the joined object is an entity, but I can't figure out how to use for an element.]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文