对于任何有使用多个 ORM 经验的人,请就标题说明我。
我目前正在实现一个依赖于 JPA 2.0 MetaModel API 的工具来实现其目的。为了测试这个工具,我创建了一个测试模型,它实现了我能想到的尽可能多的不同映射。
我发现,在 EclipseLink 2.x 和 Hibernate 4.x 之间跳跃的是,这两个 ORM 都有一些非常严重的错误,这些错误需要不符合要求的解决方法或对数据库架构进行不良更改。
例如,当使用 'mappedBy' 属性时,Hibernate 不会更新双向一对多关系的 order 列。
另一方面,如果连接列在数据库中被限制为“非空”,则 EclipseLink 将无法处理一对多关系上的连接列,从而迫使您删除非空约束(再见数据正直)
这些特定问题已经为它们各自的 ORM 创建了问题单,但这只是我遇到的问题的一个示例。
在我随机尝试其他允许我构建测试用例的 ORM 之前,任何人都可以推荐一个没有严重规范相关错误的 ORM 吗?当然,我意识到“根本没有错误”是一个荒谬的白日梦,我特别试图避免导致无法使用 JPA 2.0 兼容映射的错误,而无需做出严重的数据库设计让步(即要求依赖实体的可为空的外键引用)。
谢谢你。