我试图让我的 java 应用程序更符合标准,我面临的最大问题之一是将我们的 ORM 框架从 Castor JDO 转换为 JPA 实现(考虑 Hibernate 或 DataNucleus)。我们有自己的持久数据抽象层,因此可以通过向我们的 API 添加 JPA 实现并创建映射来轻松完成基本重构。然后就变得更复杂了,我们使用 Castor OQL,不重不轻,也不是抽象的。我们还直接对数据库进行原始 JDBC 查询,但通过 Castor 获取连接。我们正在使用 ehcache 在多个服务器之间缓存我们的对象。
问题:
1) 一般来说,Castor 和 JPA 如何处理我应该注意的持久对象有什么显着差异吗?
2) JPA 查询语言是否提供与 Castors OQL 类似的功能?还是我需要研究 JDO?
3) 我可以将 ecache 与任何 JPA 实现一起使用吗?
4) 有人知道可以从 Castor 映射转换为 JPA 映射的工具吗?
最后,我想,对不同 JPA 实现的优势有什么想法吗?Hibernate 很有吸引力,因为它被广泛使用,但我最关心的是简单性,所以也许 DataNucleas、EclipseLink(或其他东西)可能会更好地为我服务?
谢谢,
彼得考恩