8

当我几天前开始使用 Hibernate 时,我只是想知道:假设您是从头开始一个项目。您会使用基于注释的映射还是 Hibernate 映射文件来生成数据库模式。

据我了解,Hibernate 映射文件提供了一些您在注释中找不到的功能(至少,不是完全等效的)。但是,我仍然觉得,现在使用 Hibernate 的项目宁愿使用基于注释的项目,也不愿使用 Hibernate 映射文件。

有没有人选择映射文件而不是注释,如果是这样,出于什么原因?

4

3 回答 3

12

我在使用 @Annotations时看到了哪些优势:

  • 编译器安全
  • 基于@Entity,您可以轻松区分实体和非实体
  • 使用 packagesToScan Spring 的功能实体很容易扫描
  • 将实体从包移动到包或类重命名很容易

我在使用 XML时看到了哪些优势:

  • 它不会乱扔带有不必要的供应商特定注释的 java 类(想象带有 JPA、JAXB、SOLRJ 注释的 java 模型类)
  • 一处配置
  • 整体更容易维护

我们使用注释,但保留 XML 作为选项。

于 2012-04-17T13:09:40.127 回答
4

随时进行注释。真正过度使用的 XML 配置并将元数据保存在类中是一个很好的可行选择。

注释将帮助您更好地映射关系,并且它将使您与 JPA 标准保持一致,因为 hibernate 主要使用 JPA 注释。使用注释没有真正的问题,也没有太多的权衡。与基于 XML 的配置相比,它具有优越的优势。使用注释时可能缺少一些技巧,但它们会随之而来。

甚至可以在具有基于 XML 的映射的遗留项目中为新类使用注释,如此所述。

于 2012-04-17T13:07:56.877 回答
0

xml 中的映射不像注释库那样突出。因此,至少对于映射而言,使用注释更优雅。

于 2021-10-29T19:52:31.803 回答