我尝试了很多方法来解决这个错误(使用maven项目)
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/testdb</property>
<property name="hibernate.connection.username">postgres</property>
<property name="hibernate.connection.password">sql123</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hbm2ddl.auto">create </property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping resource="Employee-hbn.xml" />
</session-factory>
</hibernate-configuration>
&#13;
May 22, 2018 2:28:38 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.3.0.Final}
May 22, 2018 2:28:38 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Could not locate cfg.xml resource [/src/main/java/hibernate.cfg.xml]
error
&#13;
如果您有解决方案,请告诉我
提前致谢....
答案 0 :(得分:1)
找不到cfg.xml资源[/src/main/java/hibernate.cfg.xml] 错误
这意味着Hibernate试图在
中找到hibernate.cfg.xml
/src/main/java/hibernate.cfg.xml
。
这是一条不正确的道路。
你应该:
hibernate.cfg.xml
放入resources
文件夹。Configuration configuration = new Configuration().configure()
进行配置。hibernate.cfg.xml
是否位于build
文件夹的根目录中。一些解释:
Configuration configuration = new Configuration().configure()
与
相同 Configuration configuration = new Configuration().configure("hibernate.cfg.xml");
这一行告诉Hibernate在类路径的根目录中找到hibernate.cfg.xml
。例如,如果您构建jar
,则此文件应位于jar
的根目录中。
对于war
,类路径的根是WEB-INF/classes
。
当您将文件放入resources
文件夹时,Maven会将resources
文件夹的所有内容放入类路径的根目录(到jar
的根目录,或者到)。因此,您不会在resources
中拥有jar
文件夹,只是它的内容。
刷新项目时,IDE会执行相同的操作。
答案 1 :(得分:0)
您的hibernate.cfg.xml需要在类路径中可见。
对于将其置于WEB-INF / classes中的Web可能会起作用。
对于非web的maven项目,您可以使用/ src / main / resources /这是默认的maven资源文件夹(如果已经切换它,则使用不同的文件夹)。
同样在你的pom.xml中,你需要依赖hibernate-core