hibernate - JPA 2.0 实现比较 : Hibernate 3. 5 vs EclipseLink 2 vs OpenJPA 2

标签 hibernate jpa-2.0

你的选择是什么?你有什么建议和经验吗?

我正在使用 Hibernate 3.5 和 Spring 3.0 开发应用程序

优点:

  • 好文档
  • 简单的配置和有用的日志
  • 人气--广泛的社区
  • JPA 的一些扩展
  • 一些附加工具 - Eclipse 的 JBoss 工具、hbm2ddl、生成静态元模型等...

  • 缺点:
  • 错误! (序列、集合等...)
  • “纯粹的”Hibernate 使许多特性翻倍。遗留的 Hibernate 和 JPA 注释一团糟。

  • 我正在考虑切换到 EclipseLink。你怎么看 ?

    编辑:

    我尝试过 EclipseLink 并且有非常糟糕的经历。 EclipseLink 似乎需要 LoadTimeWeaver 并且喜欢在 OSGi 平台上运行,而不是简单的 Jetty 或 Tomcat 环境。我只是没有时间进行所有这些配置。

    最佳答案

    EclipseLink 在没有 Weaver 的情况下运行得非常好,在 Jetty、Tomcat 或 OSGi 平台上也同样出色。标准下载是一个简单的 eclipselink.jar。您是否可能错误地下载了 OSGi 包?

    Weaver 不是必需的,但它会增加一些性能优势,如果您不想将其配置为在 Spring 中运行,您可以在编译时使用静态编织器 (http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%29#To_Configure_Static_Weaving_for_JPA_Entities)。

    关于hibernate - JPA 2.0 实现比较 : Hibernate 3. 5 vs EclipseLink 2 vs OpenJPA 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3035308/

    相关文章:

    hibernate - JPQL 右连接

    hibernate - JPA2错误验证:无法解析状态字段

    java - 与同一实体的一对多关系

    hibernate - Hibernate 中的双重日志记录

    java - hibernate.cfg.xml 中的 Hibernate connection.url - 处理多个参数

    java - spring中的hibernate不保存mysql数据库

    java - JPA2+Hibernate 3.6.0 中的 JTA 或 LOCAL 事务?

    java - 使用 Java JPA (EclipseLink) MySQL 不时删除表的所有内容

    java - 如何在jpa中使用FIND_IN_SET

    java - Hibernate -> LazyInitializationException 与 n :m relation