我正在尝试使我的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(或其他东西)可能会更好地为我服务?
感谢,
peter cowan答案 0 :(得分:0)
EclipseLink是一个很好的选择,因为EclipseLink是JPA提供者,而Castor支持对象到XML的映射(使用MOXy组件)。