当我尝试使用 hibernate 将对象保存在数据库中时,为什么会出现 hibernate.invalidmappingException..
books.hbm.xml(在资源文件夹内)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Books" table="books">
<id name="id">
<generator class="increment"></generator>
</id>
<property name="name"></property>
<property name="author"></property>
<property name="count"></property>
<property name="description"></property>
</class>
</hibernate-mapping>
Hibernate.cfg.xml:
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property>
<property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver </property>
<property name="hibernate.connection.url"> jdbc:mysql://localhost/cybage </property>
<property name="hibernate.connection.username"> root </property>
<property name="hibernate.connection.password"> yoga </property>
<mapping resource="Books.hbm.xml"/>
</session-factory>
</hibernate-configuration>
并且我的项目结构是:
我已将映射文件 BOOKS.hbm.xml 放在资源文件夹中,将 Hibernate.cfg.xml 放在 META/classes 文件夹中
最佳答案
您需要在books.hbm.xml
中指定带有包的完整类名
<class name="pack.Books" table="books">
....
</class>
构建完成后,您需要在 main
文件夹中拥有 resources
文件夹才能将所有文件放在 WEB-INF/classes
中 war
。 WEB-INF/classes
默认情况下位于类路径中。
您在 classes
文件夹中有 hibernate.cfg.xml
和 user.hbm.xml
— 移动所有 xml
code> 从 classes
到 resources
。
关于java - 无法从资源 Books.hbm.xml 解析映射文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35308512/