Spring+Hibernate不能刷新数据库,Spring+Hibernate的事务不起作用
cloud 2007-06-19 08:14:59 我在使用Hibernate的时候,发现如果调用Hibernate写数据库,如save,如果不加Transaction,执行完后commit transacion的话,数据是不会写道数据库里面的,不管我怎么flush session,而我看到的资料都是说flush就会往数据库里面写数据。不知道兄弟们有没有碰到这个问题,我用的是Myeclipse 5.5 M2,Hibernate是里面自带的Hibernate 3.0。
这样会给我带来一个问题,我的程序的结构是: biz layer, dao layer,采用spring+hibernate,我本来是认为,事务在biz layer控制,采用spring的事务管理机制,但是,由于spring把事务代理给了Hibernate事务,而Hibernate事务是用session完成的,这样事务提交后,数据还是没有写道数据库里面去,实际上,我怀疑事务根本没有起作用,因为提交事务的那个Hibernate session很可能不是最后调用dao的方法里面实际用的session。我的session是通过ThreadLocal管理的,也就是Myeclipse向导帮忙的代码。
各位给我分析分析,之前从来没有玩过java,所以请不要笑话我的问题。