Java Hibernate教程-将映射文件放在哪里?

Java Hibernate教程-将映射文件放在哪里?,java,hibernate,maven,Java,Hibernate,Maven,下面是关于hibernate的有趣教程: 然而,本教程忽略了将这些文件放在何处。我正在使用一个基本Maven项目的文件夹结构 文件夹结构如下所示: foo └───src └───main ├───java │ └───org │ └───me │ └───bar │ └───[all my java source-files here]

下面是关于hibernate的有趣教程:

然而,本教程忽略了将这些文件放在何处。我正在使用一个基本Maven项目的文件夹结构

文件夹结构如下所示:

foo
└───src
    └───main
        ├───java
        │   └───org
        │       └───me
        │           └───bar 
        │               └───[all my java source-files here]
        └───resources
            ├───hibernate.cfg.xml
            └───hiber
                └───Employee.hbm.xml
文件夹
main
具有相同级别的
java
resources
,如果这在ASCII艺术中不明显。(编辑:现在是。)

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

谢谢你阅读这篇文章


关于,

通常,它放在映射的类所在的同一文件夹中

但是,检查一下,它可以去任何地方,只需在
hbm.xml
文件中本地化您的类,如下所示:

...
<hibernate-mapping>
    <class name="where.my.class.Is" table="myTable"
...
。。。
您应该将“hibernate.cfg.xml”放在“/src/main/resources下
您应该将所有模型映射文件放在定义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"/>

你也可以检查这个,我的项目文件夹的捕获


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

您可以将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

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


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

谢谢您的详细回复。我能够解决我自己的问题后不久张贴在这里。我认为解决问题的方法是正确地引用
属性,并正确地编码
hbm.xml
文件的
hibernate映射部分,以便在编译和运行时找到POJO如果编译器和JRE能够找到这些文件,我想这些文件可能在任何地方。是的,可能,我很高兴你解决了你的问题。按照惯例,我总是将hibernate配置文件(“hibernate.cfg.xml”)放在src/main/resources下,其余的放在POJO所在的模型包下?是否有任何可以设置hibernate映射的特定字段?是的,我的理解是正确的。如果我能选择多个正确答案,我也会选择这个。太棒了。我认为这也是正确的。如果我能选择多个正确答案,我也会选择这一个:D