public AdminForm add(AdminForm vo) {
Session session=null;
Transaction t=null;
try {
session=HibernateSessionFactory.getSession();
t=session.beginTransaction();
............
t.commit();
return vo;
} catch (Exception e) {
if(t!=null){
t.rollback();
}
System.out.println(System.getProperty("user.dir")+"---"+this.getClass().getPackage()+"."+new Exception().getStackTrace()[0].getMethodName()+" Err:"+e.toString());
return null;
}finally{
session.flush();
HibernateSessionFactory.closeSession();
}
}
解决方案 »
- 在线等JAVA调用birt异常
- 求教Tomcat 如何 修改内存大小啊??
- 请问Eclipes for j2ee 怎么像My一样用?
- 推荐一本关于软件工程的书
- struts2的请求分发的时候怎么mothod的不同name相同老是报错
- 急救,dwr中的DWRUtil.addOptions添加下拉菜单时怎么让他默认选中一个我想要的值呢?谢谢
- 各位老大:IIS如何与WEBLOGIC整合发布jsp!急急急
- 高分请教:我下载sql2000的jdbc驱动程序,安装好后应该怎么样做才能在JBuilder8里面使用呢?
- 为何大家建议不要用JDBC.ODBC而是使用微软的驱动SQL Server 2000?
- [算法]将字符串转换为树形结构,标题要长
- FOP升级, XSL不支持,请问用什么标签可以代替
- java面试的问题,哪位高手知道答案的请赐教!
在close之前要不要flush?我看网上都flush了一次。
查了一下API,commit()会自动调用flush(),如果不需要commit我想也没必要flush
Session session=null;
Transaction t=null;
try {
session=HibernateSessionFactory.getSession();
t=session.beginTransaction();
............
t.commit();
} catch (Exception e) {
if(t!=null){
t.rollback();
}
System.out.println(System.getProperty("user.dir")+"---"+this.getClass().getPackage()+"."+new Exception().getStackTrace()[0].getMethodName()+" Err:"+e.toString());
vo = null;
}finally{
session.flush();
HibernateSessionFactory.closeSession();
}
return vo;
}
session.close();
}
这样就可以了
HibernateSessionFactory.closeSession();
}
我是用的myeclipse自动生成的HibernateSessionFactory类控制的