java - 从 Castor 过渡到 JPA

标签 java hibernate jpa datanucleus castor-jdo

我正在努力使我的 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(或其他东西)可能会更好地为我服务?

谢谢

彼得考恩

最佳答案

EclipseLink从 Castor 过渡时,这是一个不错的选择,因为 EclipseLink 是一个 JPA 提供程序,并且像 Castor 一样支持对象到 XML 映射(使用 MOXy 组件)。

关于java - 从 Castor 过渡到 JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/821497/

相关文章:

java - Hibernate UserType 在测试应用程序中工作,但不在 tomcat 上的 Web 服务上工作

java - 如何在java中制作像枚举一样的键值

java - JPA:@Embedded 实体如何将自身类型作为字段?

java - 如何限制用户在 jpa 列中仅输入特定值?

java - Hibernate 4 Multi-Tenancy 问题 - 未找到实体持久存在

java - 一般在 SWING/Java 中使用线程的最佳实践

java - Hibernate计算集合@Formula

Java MethodHandle api 似乎产生了不正确的类型

java - JODConverter - PDF 到 HTML 转换为垃圾数据

java - 将服务器移动到新虚拟机后,VisualVM 远程连接看不到“监视器”选项卡或应用程序 mbean