我在这里关注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
文件夹在java
和resources
处于同一级别。 (编辑:现在是。)
映射文件(Employee.hbm.xml)应该放在哪里?该文件在配置文件(hibernate.cfg.xml)中引用。
感谢您阅读本文。
此致
答案 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"/>
你也可以检查一下,抓取我的项目文件夹;
答案 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
以相同的方式,您可以在类路径中的任何位置保留映射文件,但是您需要在映射中提供路径。
如果只想提供文件名而不是路径,则将其保存在任何源文件夹或映射的类的包中。