假设我有一个实体 A,它与 B 具有 oneToMany 关系,具有级联 ALL 类型,默认情况下是惰性的。 我现在的问题是,发生了什么,如果现在我修改 A,但 B 在 session 中保持完全相同,并且我保存 A。Hibernate 将与 B 进行连接,他将更新数据库,或者他将 B 作为 hibernate 代理?
我们的应用程序遇到了一些问题,因为当我们保存顶级实体时 MySQL 提示最大连接数。
ERROR 1116 (HY000): Too many tables; MySQL can only use 61 tablesin a join
问候。
最佳答案
我有一个类似的问题,但有急切的关系。一旦我们将它们更改为懒惰,问题就消失了。
在您的示例中仅更新表 A 时,Hibernate 不应与其他惰性相关表进行连接,但最好打印出生成的 SQL 并查看它是否以及如何在您更改提取设置时发生变化。
关于java - Hibernate 加入保存级联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28670987/