我是Hibernate的新手。
1)我不太明白为什么我们需要在* .hbm.xml文件中指定O / R映射关系或为"一对一",&#34添加注释数据集中的一对多"等。拥有它们是必须的吗? O / R映射关系如何真正在幕后工作?
2)添加* .hbm.xml与databean注释的关系有什么区别?我们应该两个都做吗?每个人的优点和缺点是什么?
答案 0 :(得分:1)
1
您不需要*.hbm.xml
个文件。使用JPA注释在Web上有很多示例。有些ORM实现不需要配置,并且会使用数据库来创建类(特别是在动态类型语言中),但Hibernate不是其中之一。
Hibernate查看类和配置(JPA注释和/或XML)并查看实体是否存在并且是否正确匹配(取决于配置)。
2
使用XML的优势在于您的域对象在理论上稍微不那么耦合,但实际上这通常不值得付出努力,因为注释(JPA)本身是分离的。如果注释是用Hibernate打包的并且是Hibernate专有的,那么这将是一个更大的问题。也有些人不喜欢注释。
使用JPA注释的巨大优势在于理论您可以切换JPA实现,这与hibernate XML文件不同。然而,在实践中,通常在中途切换JPA实现是一项非常重要的任务。