gpt4 book ai didi

java - 避免使用 native sqlQuery 进行 N+1 选择?

转载 作者:行者123 更新时间:2023-12-01 15:55:01 25 4
gpt4 key购买 nike

这是我所拥有的:

Entity A -> oneToMany -> Entity B -> manyToOne -> Entity C

因为我必须在 A 和另一个实体 X 之间进行没有外键的内部联接,所以我必须使用 createSqlQuery 而不是 createQuery。 (显然我无法更改数据库)

所以,我所能做的就是进行一次不错的 2N+1 选择。 (使用 fetch=EAGER 或手动,都是一样的)。

有人有什么想法吗?

编辑:使用@BatchSize,我减少了从 A 到 B 的选择数量。我现在有 N+2 个选择。

编辑2:我无法使用内部联接(带有逗号),因为数据库是旧的 DB2,并且它崩溃了。

最佳答案

为了避免 N+1,您可以在 map 字段中使用以下代码

@Fetch(FetchMode.JOIN)

希望这会有所帮助。

关于java - 避免使用 native sqlQuery 进行 N+1 选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248282/

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