package com.myeclipse.hibernate;import org.hibernate.Transaction;public class HibernateExp { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
addEmployee();

listEmployee();

updateEmployee();
} private static void addEmployee(){
Employee emp = new Employee();
emp.setCname("小强");
emp.setEname("xiaoqiang");
emp.setSex("女");
emp.setMobile("123456");
emp.setTel("2727258");
emp.setDept("品管部");
emp.setJob("测试员");
emp.setMemo("备注");
emp.setOfficetel("2080");

EmployeeDAO empdao = new EmployeeDAO();
Transaction tx = empdao.getSession().beginTransaction();
empdao.save(emp);
tx.commit();
empdao.getSession().close();
}

private static void listEmployee(){
EmployeeDAO empdao= new EmployeeDAO();
Employee emp = empdao.findById(1);
printEmp(emp);
empdao.getSession().close();
}

private static void updateEmployee(){

}

private static void printEmp(Employee personal){
System.out.print("list person infom:" + personal.getCname() + "\n"+
personal.getSex()) ;
}
}Myeclipes + Tomcat + Hibernate + Mysql;
result--------------------------------2007-12-28 9:13:11 org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\eclipse\bin;C:\eclipse\myeclipse\eclipse\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_6.0.1.zmyeclipse601200710\tomcat\bin
2007-12-28 9:13:11 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2007-12-28 9:13:11 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1860 ms
2007-12-28 9:13:11 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2007-12-28 9:13:11 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.13
2007-12-28 9:13:14 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2007-12-28 9:13:14 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2007-12-28 9:13:14 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/328  config=null
2007-12-28 9:13:14 org.apache.catalina.startup.Catalina start
信息: Server startup in 3377 ms

解决方案 »

  1.   

    你的EmployeeDAO里面的save(emp)方法怎么写的,如果你写了save(emp)方法,肯定要得到Session和beginTransaction();提交也在里面.你现在提交又在这里,所以这个方法应该没有用的.或者你不用这个方法,直接在这里写也可以.下面我给代码.
    EmployeeDAO   empdao   =   new   EmployeeDAO(); 
    Transaction   tx   =   empdao.getSession().beginTransaction(); 
    empdao.getSession().save(emp); 
    empdao.getSession().flush();
    tx.commit(); 
    empdao.getSession().close(); 
    这个代码能执行前提是必须你在EmployeeDAO里面有getSession()的方法且能得到Session.