在 Hibernate 中,我在运行时收到以下错误
1.员工.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 package ="com.hibernate.basic">
<class name="Employee" table="Employee" lazy="false">
<id name="id" column="EMPID" type ="int">
<generator class="increment"></generator>
</id>
<property name="firstName" column="NAME"></property>
<property name="lastName"column="LNAME"></property>
</class>
2.休眠.cfg.xml
<?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="connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@172.16.3.94:1521:EAMABP</property>
<property name="connection.username">EAM</property>
<property name="connection.password">EAM</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="current_session_context_class">thread</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping resource="employee.hbm.xml" />
</session-factory>
</hibernate-configuration>
3. 员工.java
package com.hibernate.basic;
public class Employee {
private int id;
private String FName, LName;
public String getFName() {
return FName;
}
public void setFName(String FName) {
this.FName = FName;
}
public String getLName() {
return LName;
}
public void setLName(String LName) {
this.LName = LName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
4.StoreData.java
package com.hibernate.basic;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class StoreData {
public static void main(String[] args) {
// creating configuration object
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");// populates the data of the
// configuration file
// creating seession factory object
SessionFactory factory = cfg.buildSessionFactory();
// creating session object
Session session = factory.openSession();
// creating transaction object
Transaction t = session.beginTransaction();
Employee e1 = new Employee();
e1.setId(115);
e1.setFName("sonoo");
e1.setLName("jaiswal");
session.persist(e1);// persisting the object
t.commit();// transaction is commited
session.close();
System.out.println("successfully saved");
}
}
执行后出现错误:
log4j:WARN 找不到记录器(org.hibernate.cfg.Environment)的附加程序。log4j:WARN 请正确初始化 log4j 系统。线程“主”org.hibernate.InvalidMappingException 中的异常:无法从 org.hibernate.cfg.Configuration.addResource(Configuration.java:569) 的 org.hibernate.cfg.Configuration 中的资源employee.hbm.xml 解析映射文档。 org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555) 的 parseMappingElement(Configuration.java:1587) org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534) 的 org.hibernate.cfg.Configuration .doConfigure(Configuration.java:1508) at org.hibernate.cfg.Configuration.configure(Configuration.java:1428) at com.hibernate.basic.StoreData.main(StoreData.java:13) 原因:org.hibernate。InvalidMappingException: 无法从 org.hibernate.cfg.Configuration.addInputStream(Configuration.java:508) 的输入流中解析映射文档 org.hibernate.cfg.Configuration.addResource(Configuration.java:566) ... 6 更多作者:org.dom4j.DocumentException:文档第 14 行出错:元素类型“property”必须后跟属性规范“>”或“/>”。嵌套异常:元素类型“property”必须后跟属性规范“>”或“/>”。在 org.dom4j.io.SAXReader.read(SAXReader.java:482) 在 org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499) ... 还有 7 个 addInputStream(Configuration.java:508) at org.hibernate.cfg.Configuration.addResource(Configuration.java:566) ... 6 更多原因:org.dom4j.DocumentException:文档第 14 行出错:元素类型“属性” " 必须后跟属性规范,">" 或 "/>"。嵌套异常:元素类型“property”必须后跟属性规范“>”或“/>”。在 org.dom4j.io.SAXReader.read(SAXReader.java:482) 在 org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499) ... 还有 7 个 addInputStream(Configuration.java:508) at org.hibernate.cfg.Configuration.addResource(Configuration.java:566) ... 6 更多原因:org.dom4j.DocumentException:文档第 14 行出错:元素类型“属性” " 必须后跟属性规范,">" 或 "/>"。嵌套异常:元素类型“property”必须后跟属性规范“>”或“/>”。在 org.dom4j.io.SAXReader.read(SAXReader.java:482) 在 org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499) ... 还有 7 个 必须后跟属性规范“>”或“/>”。嵌套异常:元素类型“property”必须后跟属性规范“>”或“/>”。在 org.dom4j.io.SAXReader.read(SAXReader.java:482) 在 org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499) ... 还有 7 个 必须后跟属性规范“>”或“/>”。嵌套异常:元素类型“property”必须后跟属性规范“>”或“/>”。在 org.dom4j.io.SAXReader.read(SAXReader.java:482) 在 org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499) ... 还有 7 个