在最近的项目中,用户试用的时候发现如果新插入一条数据,在进入列表后打开这条数据就会报错,错误原因我查了下,是因为还没有入库,也就是读到了缓存的数据,我在hibernate中没有使用到二级缓存,隔离级别设置为4,
<property name="hibernate.connection.isolation">4</property>,还是有错。
下面是dao层的数据插入:
public void save(T transientInstance) {
getLog().debug("saving"+getClass().getName() + "instance");
ITransaction tx = TransactionFactory.getTransaction();
try {
tx.begin();
Session session=getSession();
session.save(transientInstance);
session.flush();
session.evict(transientInstance);
tx.commit();
getLog(). debug("save successful");
} catch (RuntimeException re) {
getLog().error("save failed", re);
throw re;
}
}
同志们看看这个到底怎么弄啊?
<property name="hibernate.connection.isolation">4</property>,还是有错。
下面是dao层的数据插入:
public void save(T transientInstance) {
getLog().debug("saving"+getClass().getName() + "instance");
ITransaction tx = TransactionFactory.getTransaction();
try {
tx.begin();
Session session=getSession();
session.save(transientInstance);
session.flush();
session.evict(transientInstance);
tx.commit();
getLog(). debug("save successful");
} catch (RuntimeException re) {
getLog().error("save failed", re);
throw re;
}
}
同志们看看这个到底怎么弄啊?
解决方案 »
- 求java项目tomcat服务器如何发布在外网公司服务器已有。
- 项目启动报错ClassNotFoundException,请帮忙,谢谢
- JAVA Excel CellRangeAddress 出现异常
- 请问哪位朋友会使用Jquery ui css framework?
- Referenced bean 'RzDao' not found
- 我想从事FLEX开发
- 一个奇怪的问题
- 我的applet不能写数据到servlet,有高手能解决吗?
- 今天下班就要交差了!我的程序???看在大家都是csdn的份上吧!
- 学习jsp比较好的站点、文章、论坛、免费jsp空间,请大家跟贴!!!!!!!!!!!!!!!!
- dwz和java项目整合
- 关于tomcat 线程问题
这句话放在这没意义吧
之后马上commit了
session.evict(user);//从session缓存(EntityEntries属性)中逐出该对象
tx.commit();
//可以成功提交,因为hibernate在清理缓存时,在Session的insertions中集合中无法找到user对象所以不会发出insert语句,也不会更新session中existsInDatabase的状态。但是与commit同时使用,会抛出异常