Hibernate教程 - 在何处放置映射文件?

时间:2015-06-19 21:29:02

标签: java hibernate maven

我在这里关注hibernate这个有趣的教程:http://www.tutorialspoint.com/hibernate/hibernate_native_sql.htm

然而,本教程忽略了提到放置这些文件的位置。我正在使用基本Maven项目的文件夹结构。

文件夹结构如下:

foo
└───src
    └───main
        ├───java
        │   └───org
        │       └───me
        │           └───bar 
        │               └───[all my java source-files here]
        └───resources
            ├───hibernate.cfg.xml
            └───hiber
                └───Employee.hbm.xml

如果ASCII艺术不明显,则main文件夹在javaresources处于同一级别。 (编辑:现在是。)

映射文件(Employee.hbm.xml)应该放在哪里?该文件在配置文件(hibernate.cfg.xml)中引用。

感谢您阅读本文。

此致

4 个答案:

答案 0 :(得分:14)

您应该将“ / src / main / resources ”下的“ hibernate.cfg.xml ” 您应该将所有模型映射文件放在定义POJO模型类的同一目录下。

根据您提供的目录结构,它应该是;

foo
└───src
    └───main
        ├───java
        │   └───org
        │       └───me
        │           └───bar 
        │               └───[all your java Model source-files here]
        |                    Employee.java
        |                    Employee.hbm.xml
        |                    Customer.java
        |                    Customer.hbm.xml
        └───resources
            └───hibernate.cfg.xml

您应该在 hibernate.cfg.xml 文件中引用/映射所有模型文件,如下所示;

    <mapping resource="org/me/bar/Employee.hbm.xml"/>
    <mapping resource="org/me/bar/Customer.hbm.xml"/>

你也可以检查一下,抓取我的项目文件夹;

enter image description here

答案 1 :(得分:2)

通常,它位于映射类所在的文件夹中。

但是检查this site,显然它可以去任何地方,只需将您的课程本地化为hbm.xml文件,如下所示:

...
<hibernate-mapping>
    <class name="where.my.class.Is" table="myTable"
...

答案 2 :(得分:2)

您可以将映射文件放在任何文件夹中,但是您必须在hibernate.cfg.xml中为该文件提供正确的路径。

答案 3 :(得分:1)

您可以将hibernate.cfg.xml 放置在类路径中的任何位置,但是在配置过程中,您应该提供文件路径,例如如果文件路径是

src / main / java / conf / hibernate.cfg.xml

您需要提供以下路径:

conf / hibernate.cfg.xml

如果您不想提供路径,则将 hibernate.cfg.xml 放在任何源文件夹中,如 src / main / java / hibernate.cfg.xml src / main / resorces / hibernate.cfg.xml

以相同的方式,您可以在类路径中的任何位置保留映射文件,但是您需要在映射中提供路径。

如果只想提供文件名而不是路径,则将其保存在任何源文件夹或映射的类的中。