我试图使我的Java应用程序更符合标准,而我面临的最大问题之一就是将我们的ORM框架从Castor JDO过渡到JPA实现(考虑使用Hibernate或DataNucleus)。我们拥有自己的持久数据抽象层,因此可以通过向我们的API中添加JPA实现并创建映射来轻松完成基本重构。然后变得更加复杂,我们使用Castor OQL并不是很繁琐,但并不是无关紧要的,而且也没有抽象。我们还直接对数据库进行原始JDBC查询,但通过Castor进行连接。我们正在使用ehcache在多个服务器之间缓存对象。
问题:
1)总的来说,在Castor和JPA处理我应该意识到的持久性对象方面有什么显着差异?
2)JPA查询语言是否提供与Castors OQL类似的功能?还是我需要研究JDO?
3)我可以在任何JPA实现中使用ecache吗?
4)谁知道一种可以从Castor映射转换为JPA映射的工具?
最后,我猜想,对不同JPA实现的优点有何想法? Hibernate之所以吸引人是因为它被广泛使用,但是我最大的担忧是简单性,因此DataNucleas,EclipseLink(或其他)也许可以为我提供更好的服务?
谢谢,
彼得·考恩
最佳答案
从Castor过渡时,EclipseLink是一个不错的选择,因为EclipseLink是JPA提供程序,并且像Castor一样支持对象到XML的映射(使用MOXy组件)。
关于java - 从Castor过渡到JPA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/821497/