JPA 在列表/集合上获取连接过滤器
我在 JPA (Hibernate) Fetch Join 上遇到问题:
这是我的 JPQL 查询
SELECT n FROM News n LEFT JOIN FETCH n.profiles AS pr WHERE pr.id=?1
但它不起作用。如何进行查询来过滤正在获取的列表?
I'm having problem on JPA (Hibernate) Fetch Join :
Here is my JPQL query
SELECT n FROM News n LEFT JOIN FETCH n.profiles AS pr WHERE pr.id=?1
But it's not working. How can I make a query that filters on the list that is being fetched ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据规范,您尝试做的事情是不允许的(至少 JPA 不允许)。来自 JPA 1.0 规范:
因此,以下内容应该有效:
但是您不能在此处使用 FETCH JOIN。
According to the specification, what you're trying to do is not allowed (at least not by JPA). From the JPA 1.0 specification:
So the following should work:
But you can't use a FETCH JOIN here.
试试这个方法:
Try this way: