日期:2014-05-20  浏览次数:20822 次

为什么使用HibernateTemplate中的save方法没有输出SQL语句
今天早上出了使用spring+hibernate+struts框架写个web程序出了一个问题。。

在测试类中调用DAO层的save方法不会出现任何问题,但一使用到Action来调用DAO层的save方法就不会输出sql语句了(show_sql=true)并且不会报任何错误,已检查出DAO中的save方法是走了的。是使用OpenSessionInViewFilter来控制事务的..紧急求解..


------解决方案--------------------
啊?
------解决方案--------------------
输出又怎么样呢,,很需要打印sql?
一般设置了show_sql=true,就会打印的。
------解决方案--------------------
已检查出DAO中的save方法是走了的。



save都走了,没保存成功?
------解决方案--------------------
这个是不是事物的问题, 你在Action没有在事物范围内。
------解决方案--------------------
探讨
已经出来了,第一次发帖,谢谢大家呵..
因为主键ID的生成策略是assigned 所以HibernateTemplate的flushMode属性要设置成FLUSH_EAGERJava codeHibernateTemplate template=super.getHibernateTemplate();
template.setFlushMode(template.FLUSH_EAGER);
template.save(jbClass);

------解决方案--------------------
这么诡异的问题,先标记一下。以后可能也会碰到。