Java hibernate.hbm.xml中的映射异常无效
我正在发布我的hbm文件和cfg文件以及我的错误日志。我发现基于类似问题的问题也尝试过它们的解决方案,但我的错误并没有消失 日志Java hibernate.hbm.xml中的映射异常无效,java,xml,hibernate,hbm2ddl,Java,Xml,Hibernate,Hbm2ddl,我正在发布我的hbm文件和cfg文件以及我的错误日志。我发现基于类似问题的问题也尝试过它们的解决方案,但我的错误并没有消失 日志 初始SessionFactory创建失败。org.hibernate.InvalidMappingException:无法从资源网/viralpatel/hibernate/Employee.hbm.xml解析映射文档 线程“main”java.lang.ExceptionInInitializeError中出现异常 位于net.viralpatel.hibernat
初始SessionFactory创建失败。org.hibernate.InvalidMappingException:无法从资源网/viralpatel/hibernate/Employee.hbm.xml解析映射文档
线程“main”java.lang.ExceptionInInitializeError中出现异常
位于net.viralpatel.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:18)
位于net.viralpatel.hibernate.HibernateUtil.(HibernateUtil.java:8)
位于net.viralpatel.hibernate.Main.Main(Main.java:13)
原因:org.hibernate.InvalidMappingException:无法从资源网/viralpatel/hibernate/Employee.hbm.xml解析映射文档
位于org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
位于org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1584)
位于org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1552)
位于org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1531)
位于org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1505)
位于org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
位于org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
位于net.viralpatel.hibernate.HibernateUtil.buildSessionFactory(HibernateUtil.java:14)
... 还有两个
原因:org.hibernate.InvalidMappingException:无法从输入流分析映射文档
位于org.hibernate.cfg.Configuration.addInputStream(Configuration.java:508)
位于org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
... 9更多
原因:org.dom4j.DocumentException:文档第9行错误:元素类型“generator”必须由匹配的结束标记“”终止。嵌套异常:元素类型“generator”必须由匹配的结束标记“”终止。
位于org.dom4j.io.SAXReader.read(SAXReader.java:482)
位于org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499)
... 10多
Employee.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="Employee" table="EMPLOYEE" >
<id name="employeeId" column="EMPLOYEE_ID">
<generator class="native">
</id>
<one-to-one name="employeeDetail" class="net.viralpatel.hibernate.EmployeeDetail"
cascade="save-update"></one-to-one>
<property name="firstname" column="firstname" />
<property name="lastname" column="lastname" />
<property name="birthDate" type="date" column="birth_date" />
<property name="cellphone" column="cell_phone" />
</class>
hibernate.cfg.xml
<!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="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">tcs@1234</property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<mapping resource="net/viralpatel/hibernate/EmployeeDetail.hbm.xml"/>
<mapping resource="net/viralpatel/hibernate/Employee.hbm.xml"/>
</session-factory>
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/hibernate
根
tcs@1234
1.
org.hibernate.dialogue.mysqldialogue
线
org.hibernate.cache.NoCacheProvider
真的
更新
在
Employee.hbm.xml中,您没有关闭生成器标记。
替换
由此
<generator class="native"/>
在Employee.hbm.xml中,您没有关闭生成器标记。
替换
由此
<generator class="native"/>
通过查看堆栈跟踪,您没有正确结束生成器标记
请更改employee.hbm.xml文件以正确结束
元素
例如:应该是
通过查看堆栈跟踪,您没有正确结束生成器标记
请更改employee.hbm.xml文件以正确结束
元素
例如:它应该是
<generator class="native"/>