swing使用hibernate查询数据时,因缓存问题使得不同进程修改的数据不能及时更新。即便使用来了clear清理一级缓存也没有有效的更新。
试验后发现,必须在查询前插入一个“空事务”,然后就可以有效的直接刷新数据库中的变更了。
环境:myeclipse 8.5, hibernate 3.3, jdk1.6.18
试验后发现,必须在查询前插入一个“空事务”,然后就可以有效的直接刷新数据库中的变更了。
环境:myeclipse 8.5, hibernate 3.3, jdk1.6.18
public List findAll() {
log.debug("finding all TTypeProperty instances");
try {
getSession().beginTransaction();
getSession().getTransaction().commit();
getSession().clear();
String queryString = "from TTypeProperty o order by o.targetId asc";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}