我见过许多使用注释实现hibernate的教程(基本上是hibernate注释或JPA注释)。有一些教程主要关注使用hibernate配置文件(hbm.xml文件)。根本不使用注释。
现在我有点困惑,哪一个更好的方法?
答案 0 :(得分:8)
我绝对更喜欢使用注释来定义我的映射元数据。实际上,注释是Hibernate开发人员推荐的方法。在More XML than code?
中引用Gavin King当然,Hibernate Annotations自2005年初开始出现,人们不再有任何理由在XML中定义映射。
优点:
缺点:
换句话说,如果可以,请使用注释。如果您不能(您无法更改代码,例如使用遗留代码时),请使用XML映射。
答案 1 :(得分:1)
取决于你!我不认为有更好的方法。这两个解决方案都致力于同样的事情,即帮助Hibernate了解数据库的结构。注释具有直接在Entity Java类文件中可用的优点。
有一段时间,XML被视为定义配置信息的标准。从Java 5开始,最初位于这些XML文件中的许多信息现在使用注释直接存储在类中。例如,Spring 3.x
框架或Java EE 6
现在使用注释。
答案 2 :(得分:0)
这取决于你的喜好。例如,我更喜欢为类注释定义什么是主键,哪些值是自动生成的以及实体具有哪些关系。我还使用配置文件 persistence.xml ,在其中我将实体的映射方式定义到数据库。所以我将域模型的程序员视图分离给了数据库工程师。
答案 3 :(得分:0)
我也更喜欢注释方法,因为我喜欢在一个地方看到类及其数据库配置。另一方面,这是使用配置文件的最大优势:您不需要触摸java类。