Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate:映射文件还是注释?_Java_Hibernate - Fatal编程技术网

Java Hibernate:映射文件还是注释?

Java Hibernate:映射文件还是注释?,java,hibernate,Java,Hibernate,几天前,当我开始使用Hibernate时,我只是想知道:假设您是从零开始一个项目。您是使用基于注释的映射文件还是Hibernate映射文件来生成数据库架构 据我所知,Hibernate映射文件提供了一些在注释中找不到的特性(至少不是完全相同的特性)。但是,我仍然觉得现在使用Hibernate的项目更倾向于基于注释的映射文件,而不是Hibernate映射文件 是否有人选择过映射文件而不是注释,如果是,原因是什么?请随时使用注释。真正过度使用的XML配置和在类中保存元数据是一个很好的可行选择 注释将

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

据我所知,Hibernate映射文件提供了一些在注释中找不到的特性(至少不是完全相同的特性)。但是,我仍然觉得现在使用Hibernate的项目更倾向于基于注释的映射文件,而不是Hibernate映射文件


是否有人选择过映射文件而不是注释,如果是,原因是什么?

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

注释将帮助您更好地映射关系,并使您符合JPA标准,因为hibernate主要使用JPA注释。使用注释没有真正的问题,也没有太多的折衷。与基于XML的配置相比,它具有优越的优势。当您使用注释时,可能缺少一些技巧,但它们会出现


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

我认为使用@Annotations有什么好处:

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

我认为使用XML有什么好处:

  • 它不会给java类带来不必要的特定于供应商的内容 注释(想象一下带有JPA、JAXB、SOLRJ的java模型类 注释)
  • 配置在一个地方
  • 作为一个整体更易于维护
我们使用注释,但保留XML作为选项