Hibernate:为什么要使用O / R映射?

时间:2016-07-21 15:03:49

标签: hibernate data-annotations hibernate-mapping

我是Hibernate的新手。

1)我不太明白为什么我们需要在* .hbm.xml文件中指定O / R映射关系或为"一对一",&#34添加注释数据集中的一对多"等。拥有它们是必须的吗? O / R映射关系如何真正在幕后工作?

2)添加* .hbm.xml与databean注释的关系有什么区别?我们应该两个都做吗?每个人的优点和缺点是什么?

1 个答案:

答案 0 :(得分:1)

  

1

您不需要*.hbm.xml个文件。使用JPA注释在Web上有很多示例。有些ORM实现不需要配置,并且会使用数据库来创建类(特别是在动态类型语言中),但Hibernate不是其中之一。

Hibernate查看类和配置(JPA注释和/或XML)并查看实体是否存在并且是否正确匹配(取决于配置)。

  

2

使用XML的优势在于您的域对象在理论上稍微不那么耦合,但实际上这通常不值得付出努力,因为注释(JPA)本身是分离的。如果注释是用Hibernate打包的并且是Hibernate专有的,那么这将是一个更大的问题。也有些人不喜欢注释。

使用JPA注释的巨大优势在于理论您可以切换JPA实现,这与hibernate XML文件不同。然而,在实践中,通常在中途切换JPA实现是一项非常重要的任务。