Hibernate 休眠二级缓存未更新

Hibernate 休眠二级缓存未更新,hibernate,memcached,Hibernate,Memcached,我在Hibernate3.2中创建了一个应用程序,并使用memcached对我的实体进行了二级缓存 我面临的问题是,一旦实体被缓存,如果我更新任何缓存的实体项,它就不会被更新 我的用例是: 史蒂夫的儿子名叫乔恩 现在,我从数据库中加载Steve的实体,同时我得到了他儿子的实体,也就是Jon。但当我将Jon的名字更新为“Marc”时,当我再次加载有Steve的实体时,同样的变化并没有反映出来 我认为memcached已经缓存了它,当我更新它时,实体不会被刷新 我需要在更改时更新此实体,即每当实体有

我在Hibernate3.2中创建了一个应用程序,并使用memcached对我的实体进行了二级缓存

我面临的问题是,一旦实体被缓存,如果我更新任何缓存的实体项,它就不会被更新

我的用例是: 史蒂夫的儿子名叫乔恩

现在,我从数据库中加载Steve的实体,同时我得到了他儿子的实体,也就是Jon。但当我将Jon的名字更新为“Marc”时,当我再次加载有Steve的实体时,同样的变化并没有反映出来

我认为memcached已经缓存了它,当我更新它时,实体不会被刷新

我需要在更改时更新此实体,即每当实体有任何字段更新时,缓存中的同一实体都会随着更新而刷新


请帮忙。谢谢:)

如果通过nHibernate执行更新,缓存将得到更新,如果在nHibernate之外执行(例如,通过数据库直接),则nHibernate将不会意识到更改,因此从缓存重新加载时,缓存将不会有任何更新值


如何更新名称?

我通过启动数据库查询直接更新了名称,我的要求仅此而已,如果从Hibernate外部进行更新,我希望缓存检测到更改。您可以共享一些代码吗?