*以下每个文件都在同一位置*
错误 :
SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。
SLF4J:默认为无操作(NOP)记录器实现
SLF4J:有关详细信息,请参阅 http://www.slf4j.org/codes.html#StaticLoggerBinder。
org.hibernate.InvalidMappingException:无法从资源 ./employee.hbm.xml 解析映射文档
在 org.hibernate.cfg.Configuration.addResource(Configuration.java:616)
在 org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1635)
在 org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1603)
在 org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1582)
在 org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1556)
在 org.hibernate.cfg.Configuration.configure(Configuration.java:1476)
在 org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
在 com.yahoo.hibernatelearning.FirstExample.main(FirstExample.java:19)
原因:org.hibernate.InvalidMappingException:无法从输入流解析映射文档
在 org.hibernate.cfg.Configuration.addInputStream(Configuration.java:555)
在 org.hibernate.cfg.Configuration.addResource(Configuration.java:613)
... 7 更多
引起:org.dom4j.DocumentException:http://hibernate.sourceforge.net/%0Ahibernate-mapping-3.0.dtd 嵌套异常:http://hibernate.sourceforge.net/%0Ahibernate-mapping-3.0.dtd
在 org.dom4j.io.SAXReader.read(SAXReader.java:484)
在 org.hibernate.cfg.Configuration.addInputStream(Configuration.java:546)
... 8 更多
线程“主”java.lang.NullPointerException 中的异常
在 com.yahoo.hibernatelearning.FirstExample.main(FirstExample.java:33)
休眠配置:hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.h2.Driver</property>
<property name="hibernate.connection.url">jdbc:h2:./db/repository</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.default_schema">PUBLIC</property>
<property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- Mapping files -->
<mapping resource="./employee.hbm.xml"/>
</session-factory>
</hibernate-configuration>
映射配置:employee.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/
hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.yahoo.hibernatelearning.Employee" table="employee">
<id name="empId" type="int" column="emp_id" >
<generator class="native"/>
</id>
<property name="empName">
<column name="emp_name" />
</property>
<property name="empSal">
<column name="emp_sal" />
</property>
</class>
</hibernate-mapping>
映射类:Employee.java
包 com.yahoo.hibernatelearning;
公共类员工{
私人int empId;
私人字符串 empName;
私营企业;
公共 int getEmpId() {
返回员工ID;
}
公共无效 setEmpId(int empId) {
这个.empId = empId;
}
公共字符串 getEmpName() {
返回员工姓名;
}
公共无效setEmpName(字符串empName){
这个.empName = empName;
}
公共 int getEmpSal() {
返回empSal;
}
公共无效 setEmpSal(int empSal){
这个.empSal = empSal;
}
}
代码:FirstExample.java
包 com.yahoo.hibernatelearning;
导入 org.hibernate.Session;
导入 org.hibernate.SessionFactory;
导入 org.hibernate.Transaction;
导入 org.hibernate.cfg.Configuration;
公共类 FirstExample {
/**
* @param 参数
*/
公共静态无效主要(字符串[]参数){
// TODO 自动生成的方法存根
会话 sess = null;
事务 tran = null;
尝试{
SessionFactory sessFact = new Configuration().configure().buildSessionFactory();
sess = sessFact.openSession();
System.out.println("会话:"+ sess);
tran = sess.beginTransaction();
雇员 emp = new Employee();
emp.setEmpName("Birendra Kumar");
emp.setEmpSal(12000);
sess.save(emp);
tran.commit();
}
捕捉(异常前){
ex.printStackTrace();
}
最后{
sess.close();
}
}
}