如果我们使用基于注释的hibernate,那么我们需要hbm.xml吗?

时间:2014-08-22 11:10:29

标签: hibernate

我是hibernate的新手。我在我的项目中看到我们正在使用hibernate的注释,我们还没有在任何地方定义映射类。在这个项目中我们也使用spring.so我的问题是如果我们使用基于注释的hibernate然后我们需要hbm.xml吗?

3 个答案:

答案 0 :(得分:4)

如果您指的是Hibernate XML映射文件,那么如果您正在使用Hibernate Annotations,则绝对不需要它们。

Hibernate Annotations是Hibernate XML Mapping文件的替代品。他们有相同的目标,其中包括定义实体如何映射到数据库列,以及它与其他实体的关系。

实际上,您需要决定模型或其他(注释或XML映射)。也可以使用混合模型,其中一些实体使用注释进行映射,一些实体使用XML映射文件进行映射。正如Is it possible to use both annotations and hbm.xml files in the same project in Hibernate?

中所述

答案 1 :(得分:1)

有两种方法可以用关系(表格)映射实体(对象)。 Xml文件的使用现在已经过时但我会说如果你使用Xml文件,那么你可以拥有完全没有注释的干净实体,这样你就可以迁移到任何其他ORM框架并使用这些实体。请参阅此处了解http://docs.jboss.org/hibernate/orm/3.6/quickstart/en-US/html/hibernate-gsg-tutorial-basic.html#hibernate-gsg-tutorial-basic-mapping

您还可以使用注释来映射实体,因此需要更少的代码。请在此处学习http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping-entity

如果您使用注释来映射您的实体,

最后不需要hbm.xml文件。

答案 2 :(得分:0)

传统上, Hibernate 依赖外部XML文件进行配置:数据库映射在一组XML映射文件中定义,并在启动时加载。

有许多方法可以自动地从现有数据库模式或Java类模型或手动创建这些映射。

在任何情况下,您最终都会得到大量的Hibernate映射文件。

或者,您可以使用javadoc样式的注释,但这会在构建过程中添加额外的步骤。

And You also do not require hbm.xml files if you are using annotations.

对于 hibernate

Here是您需要了解的所有映射的快速参考