【发布时间】:2010-12-24 04:13:24
【问题描述】:
我观察到一个奇怪的事实(基于 hibernate 标记中的问题),人们仍在积极使用 xml 文件而不是注释来指定他们的 ORM (Hibernate/JPA) 映射。
在某些情况下,这是必要的:
- 您正在使用提供的类,并且想要映射它们。
- 您正在编写一个 API,其域类可以在没有 JPA 提供程序的情况下使用,因此您不想强制依赖 JPA/Hibernate。
但我认为这些并不常见。
我的假设是:
- 人们习惯于使用 xml 文件,感觉不舒服/不想费心学习使用注释方法。
- Java pre-1.5 被强加在项目上,没有什么可做的
- 人们不知道注释是 xml 映射的全功能替代品。
- 支持旧系统,因此更改方法存在风险
- 人们担心将注释(元信息)与他们的类混合是错误的。
还有其他可能的解释吗?
【问题讨论】:
-
我想你已经把它们都搞定了。但反问:你为什么在乎?
-
我想这只是许多企业在 Java 1.4 上运行遗留系统,需要与否则会使用注释的新代码兼容。甚至这种可能性也可能迫使项目继续使用笨重的 XML 文件。过去使用过 JPOX/JDO,我不明白为什么有正常思维的人如果有其他选择会想要继续使用映射文件。
-
通过“任何替代”,我包括将自己从悬崖上跳下来作为使用 JPOX/JDO 的可行替代方案。
-
@JeeBee,JPOX 已经将近 2 年没有开发了。现在它被称为 DataNucleus,它支持比任何其他持久性解决方案更灵活的元数据输入机制。 --Andy (DataNucleus
-
不是大多数用户的想法。 XML 从第一天开始就可用。当 Java5 投入生产时,JDO 有注释……实际上来自 JPOX 1.1。显然,如果你当时有一些问题,那么你可以提出这个问题。与以往一样,对事情保持建设性总是更好,因为这样可以完成某些事情。祝你有美好的一天
标签: java hibernate orm jpa annotations