我有一个使用 EJB 2.x 实体 bean (BMP) 的大型应用程序。这是众所周知的可怕的持久性策略(如有必要,我可以详细说明)。
我想开始迁移此应用程序以使用更具表现力、透明和非侵入性的持久性策略,鉴于我公司以前的经验,Hibernate 3.x 是显而易见的选择。
迁移到 Hibernate 需要一段时间,因为应用程序中有超过 100 个表使用实体 bean。因此,我正在寻找一种分阶段的方法,其中两种持久性策略并行运行,如果可能的话,最好同时在同一张表上运行。
我的问题是,将这两种持久性策略结合起来有哪些缺陷(如果有的话)?他们会互相妨碍吗?
最佳答案
正如 jodonnel 所说,您必须注意缓存,因为如果您在 Hibernate 中使用二级缓存并且在 Hibernate 之外修改了一个表,那么 Hibernate 无法知道它的缓存条目是否过时。
对于事务,它们都应该使用容器提供的 JTA,因此它应该是安全的。
关于java - 将 EJB 2.x BMP 实体 bean 与 Hibernate 3.x 混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68614/