缓存设置
问题描述:
我的数据源配置:缓存设置
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.provider_class='org.hibernate.cache.EhCacheProvider'
}
我有一个实体的命名分类,可以有一个或多个类别(儿童)
class Category{
int ordering
static hasMany = [categories: Category]
static mapping = {
categories(sort: "ordering", order: "asc")
sort "ordering"
cache usage: 'nonstrict-read-write'
categories cache: 'nonstrict-read-write'
}
当我一财产管理页面更改,可以从类别实例中说出排序属性,该更改不会从关联反映到父类别,因此assoc集合具有已更改子级的旧属性。 我试图删除此:
categories cache: 'nonstrict-read-write'
,然后分类assoc命令始终是过时了。
我如何确保每次更新类别实例时,父类别的相关类别都会通知更改?不应该这样默认工作?
答
好的我找到了! 我不得不像这样驱逐整个集合: sessionFactory.evictCollection(Category.class.name +'.categories')