使用注释或使用hibernate配置文件进行休眠

时间:2010-09-02 05:56:25

标签: xml hibernate orm jpa annotations

我见过许多使用注释实现hibernate的教程(基本上是hibernate注释或JPA注释)。有一些教程主要关注使用hibernate配置文件(hbm.xml文件)。根本不使用注释。

现在我有点困惑,哪一个更好的方法?

4 个答案:

答案 0 :(得分:8)

我绝对更喜欢使用注释来定义我的映射元数据。实际上,注释是Hibernate开发人员推荐的方法。在More XML than code?

中引用Gavin King
  

当然,Hibernate Annotations自2005年初开始出现,人们不再有任何理由在XML中定义映射。

优点:

  • 注释通常不那么冗长
  • 注释与代码一起使用,它们更易于维护(IMO)

缺点:

  • 更改元数据需要重新编译(如果这确实是一个问题)

换句话说,如果可以,请使用注释。如果您不能(您无法更改代码,例如使用遗留代码时),请使用XML映射。

答案 1 :(得分:1)

取决于你!我不认为有更好的方法。这两个解决方案都致力于同样的事情,即帮助Hibernate了解数据库的结构。注释具有直接在Entity Java类文件中可用的优点。

有一段时间,XML被视为定义配置信息的标准。从Java 5开始,最初位于这些XML文件中的许多信息现在使用注释直接存储在类中。例如,Spring 3.x框架或Java EE 6现在使用注释。

答案 2 :(得分:0)

这取决于你的喜好。例如,我更喜欢为类注释定义什么是主键,哪些值是自动生成的以及实体具有哪些关系。我还使用配置文件 persistence.xml ,在其中我将实体的映射方式定义到数据库。所以我将域模型的程序员视图分离给了数据库工程师。

答案 3 :(得分:0)

我也更喜欢注释方法,因为我喜欢在一个地方看到类及其数据库配置。另一方面,这是使用配置文件的最大优势:您不需要触摸java类。