2015-02-23 103 views
1

让我们说,我有一个实体A有一个关系oneToMany与B级联所有类型和默认懒惰。 现在我的问题是,发生了什么,如果现在我修改A,但是B保持会话完全一样,并且我保存A.Hibernate将与B进行连接,并且他将更新数据库,或者他将保持B作为休眠状态代理?。休眠使联接保存级联

我们在应用程序中遇到了一些问题,因为当我们保存顶层实体时,MySQL正在抱怨最大连接数。

ERROR 1116 (HY000): Too many tables; MySQL can only use 61 tablesin a join 

问候。

+0

当“hibernate抱怨最大连接数”时,你会得到一个异常吗?请向我们展示堆栈跟踪。 – Jack 2015-02-23 09:59:27

+0

抱歉,错误在MYSQL端。错误1116(HY000):表太多; MySQL只能在连接中使用61个表 – paul 2015-02-23 10:01:23

回答

0

我有一个类似的问题,但与渴望提取的关系。一旦我们将它们改为懒惰,问题就没有了。

在您的示例中,仅更新表A时,Hibernate不应该与其他惰性表相关联,但最好是打印出生成的SQL,并在更改抓取设置时查看它是否及如何更改。