Java 目前,哪个JPA2.0ORM实现JPA2.0规范最正确,错误最少?

Java 目前,哪个JPA2.0ORM实现JPA2.0规范最正确,错误最少?,java,jpa,orm,jpa-2.0,Java,Jpa,Orm,Jpa 2.0,对于有使用多个ORM经验的人,请说明我的标题 我目前正在实现一个依赖于JPA2.0元模型API的工具,以满足其目的。为了测试这个工具,我创建了一个测试模型,它实现了我所能想到的尽可能多的不同映射 我在EclipseLink 2.x和Hibernate 4.x之间发现,这两个ORM都有一些非常严重的错误,需要不符合要求的解决方法或对数据库模式进行不必要的更改 例如,当使用“mappedBy”属性时,Hibernate不会更新双向一对多关系上的order列 另一方面,如果联接列在数据库中被约束为“N

对于有使用多个ORM经验的人,请说明我的标题

我目前正在实现一个依赖于JPA2.0元模型API的工具,以满足其目的。为了测试这个工具,我创建了一个测试模型,它实现了我所能想到的尽可能多的不同映射

我在EclipseLink 2.x和Hibernate 4.x之间发现,这两个ORM都有一些非常严重的错误,需要不符合要求的解决方法或对数据库模式进行不必要的更改

例如,当使用“mappedBy”属性时,Hibernate不会更新双向一对多关系上的order列

另一方面,如果联接列在数据库中被约束为“NOTNULL”,EclipseLink将无法处理一对多关系上的联接列,这将迫使您删除NOTNULL约束,而不考虑数据完整性

这些特定问题已经为各自的ORM创建了问题单,但只是我遇到的问题的一个样本

在我随机尝试其他允许我构建测试用例的ORM之前,有人能推荐一个没有严重规范相关bug的ORM吗?当然,我意识到“完全没有bug”是一个荒谬的白日梦,我特别试图避免导致无法使用本应符合JPA 2.0的映射的bug,而不做出严重的数据库设计让步,即要求依赖实体的可空外键引用


谢谢。

简单的方法就是查看4个主要实现中每个实现的相应问题跟踪程序,查看一些问题出现的总数和时间长度。显然,这将包括您的项目不需要的东西,因此可能无法为您的项目提供最佳答案。很明显,如果JPA TCK可以让所有人看到哪些不是,哪些不是,那么这将是一个验证合规性的简单过程。我最初开始关注问题跟踪,顺便说一句,eclipselink…让我们在项目中与时俱进,但很明显,当你考虑到成百上千的问题时,很难确定哪些bug会直接或间接地影响JPA2.0的遵从性,更不用说以下问题与其他问题的链接了。。这项任务太艰巨了,因此对任何外出的专家都有吸引力。