JPA:我应该使用orm.xml清理我的实体类吗?

Jak*_*čar 7 java orm jpa

我目前只使用JPA注释,但我真的不喜欢我用这么多ORM细节污染我的实体类,这些细节实际上与它们的行为无关(例如表名,id生成策略,连接列...... ).

我看到DataNucleus建议在XML中添加与ORM相关的注释(粉红色的那些),但我没有看到任何其他实现推荐这个,JPA似乎没有将注释分成这两个组(我认为JDO确实如此) .

是否有人以这种方式使用注释+ orm.xml,您有什么经历?

它会从我的实体课程中消除一些污染,还是会遇到问题?

Mar*_*tin 5

我们在半定期基础上遇到的最大问题是,如果您想单独使用注释以任何方式更改持久性映射,则需要重新编译和重新部署.

使用orm.xml为您提供了一定程度的抽象,可以使重新配置更直接,并且可以通过技术上相同的代码库实现(例如,您确定一行代码没有隐藏到您正在重新编译的内容/重新部署).

您可以使用注释配置 - 这是我正在使用的环境 - 类使用功能类型持久性元数据(即外键,连接等 - 具有代码级别表示的事物)注释,而无关信息(即表) /列名称)存储在配置文件中.

当我们使用一种配置机制而不是另一种配置机制时,我们仍在尝试开发一些明确的启发式方法,但我们已经到了那里.