gpt4 book ai didi

hibernate - HQL:非法尝试取消引用集合

转载 作者:行者123 更新时间:2023-12-03 14:18:57 27 4
gpt4 key购买 nike

情况是这样的:

我有一个实体 Book 与 Chapter 保持一对多关系。

现在,如果我尝试查询“from Book book inner join book.chapters chapter where chapter.title like '%hibernate%'”,它会给我想要的结果。

但是如果我尝试“from Book where book.chapters.title like '%hibernate%'”,我会收到错误 非法尝试取消引用集合 .

问题是我只想要 Book 对象的集合作为返回,而不是我在前一个查询中得到的一对 Book 和 Chapter 对象的集合作为返回。

有人可以帮我理解吗?

最佳答案

章节是书籍中的集合,因此不会包含属性标题 (Collection.title)。您需要加入章节才能像第一个示例一样将它们包含在您的查询中。如果您的章节被懒惰地映射,您将只会获得书籍的集合,而没有加载其中的章节。所以我会说,使用你的第一个查询。

如需进一步阅读,请查看 query HQL joinsperformance fetching页。

关于hibernate - HQL:非法尝试取消引用集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6404924/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com