java - 将 EJB 2.x BMP 实体 bean 与 Hibernate 3.x 混合

标签 java hibernate jakarta-ee ejb-2.x

我有一个使用 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/

相关文章:

java - 从java调用Perl,主要是正则表达式匹配

java - 我需要使用没有数组或循环的 Java/RegEx 从大型数据文件的车辆描述字段中删除 ~50 个颜色名称

java - 如何使用 Java 导航 Web 搜索

java - JD-Eclipse 在我的 Eclipse 3.7 上安装失败

java - com.fasterxml.jackson.core.JsonParseException : Unexpected character(code 160) while reading the json file

Eclipse 依赖项目未复制到 WTP 部署

java - 双向导航。这是什么意思?

spring - 不允许在共享 EntityManager 上创建事务 - 使用 Spring 事务或 EJB CMT

sql-server - 在grails 3.3.9中提供默认的辅助排序列

testing - 如果不支持注释,我如何将 jUnit 与 J2EE 1.4 一起使用?