我有一个大型的非Java EE、基于JSF的Web应用项目。我们的系统是分层的(从源代码的角度来看):有一个数据模型包,建立在此之上的是DAO包。我们在DAO包中专门使用Hibernate的XML配置映射。我们真的不想用注释来混淆数据模型,但并不是特别依赖Hibernate(除了映射比较复杂)。
我正在考虑向Java EE迈进,并将我们的DAO对象构建为EJB。但由于我们不想放弃Hibernate的XML,这引发了我几个问题:
我正在考虑向Java EE迈进,并将我们的DAO对象构建为EJB。但由于我们不想放弃Hibernate的XML,这引发了我几个问题:
- 是否可以在模型上没有JPA注释的情况下使用Hibernate与JPA?
- 如果不行,我的EJB是否仍然可以与Hibernate进行事务处理?我认为这被称为JTA支持,但不确定。我喜欢免费获得事务的想法;现在我们有一个自定义的阶段监听器来处理Hibernate事务,我想要删除它。
- 是否有一种方法可以从Hibernate的XML映射配置迁移到某种JPA XML映射?我没有看到这样做的方法,但显然将我们与Hibernate的耦合降到最低会更好。