我在我的项目中使用 jpa (eclipselink) + ejb(3),当我关闭 ejb 方法的事务时,延迟加载存在问题。如果我尝试急切加载没关系,但它有更多的时间等待。你如何解决这样的问题?我认为有两种方法:
使用 bean 管理事务,并加载该事务中的字段(这很困难,因为我有很多遗留代码)
在实体中使用急切的初始化。
你还有其他建议吗?
谢谢!
我在我的项目中使用 jpa (eclipselink) + ejb(3),当我关闭 ejb 方法的事务时,延迟加载存在问题。如果我尝试急切加载没关系,但它有更多的时间等待。你如何解决这样的问题?我认为有两种方法:
使用 bean 管理事务,并加载该事务中的字段(这很困难,因为我有很多遗留代码)
在实体中使用急切的初始化。
你还有其他建议吗?
谢谢!
2 .Eager loading 也不是一个好主意,因为将整个数据库加载到内存中的风险非常高。
如果可能尝试使用仅加载的 fetch 连接创建(命名)查询(请参阅 http://www.kumaranuj.com/2013/07/jpa-2-fetch-joins-and-whether-we-should.html )您真正需要进一步处理的数据。