hibernate3 更新数据问题,大家有碰到过的没?
hibernate3 中我使用了二级缓存的.
数据库是oracle9i
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
使用的是 ThreadLocal 方式.
DocBean thsDocPart = (DocBean)session.load(DocPart.class,id);
thsDocPart.setLogo("XXX变量每次不同");
thsDocPart.setLogoLink("XXX");
session.flush();
//-----------我使用了N种方法清空缓存
session.refresh(thsDocPart);
session.clear();
session.getSessionFactory().evict(DocPart.class);
问题:
第一次修改能够成功.后边的就不一定了.有时候成功了.但显示的是缓存的数据(没修改前的)
后边修改有时候能成功,有时候不成功.
我看了看显示的SQL,有时候 session.flush(); 并没有生成更新语句.
感觉很不稳定,而且缓存好像就清空不了.