0
我有两个应用程序共享数据库 问题是,当从一个应用程序更新记录,并从另一个应用程序HQL查询后它dosenot得到新的更新,是通过缓存?
hql dosenot查看更新
的技术,我们使用
缝不同,Vaadin,JPA /休眠
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
<property name="hibernate.cache.use_second_level_cache"
value="false" />
<property name="hibernate.cache.use_query_cache" value="false" />
HQL: 从用户
数据已被提交。问题在其他应用程序更新后回想查询 – aatsy 2011-06-12 12:35:03
如果在查询之前使用“原始”Hibernate会话来强制第一级缓存到达,您可以尝试entityManager.clear()(如果使用JPA EntityManager)或session.clear()被清除。如果内存服务,JPA EntityManager和Hibernates的会话对象都应该有刷新(obj)方法,这会强制从数据库一路刷新,绕过第一级和第二级缓存。不使用缓存时,您可能会看到一些性能问题(可能非常小或非常高,具体取决于您的数据库使用情况,查询大小等)。 – esaj 2011-06-12 12:49:02