我有一个非常简单的测试用例,用于尝试了解Redis。我做了install-plugin redis-gorm。
域对象:
class BenchGroup {
String groupName
/*static mapWith = "redis"
static mapping = {
groupName(index:true)
}*/
static constraints = {
}
}
引导代码:
def everyoneGroup = new BenchGroup(groupName:'everyoneGroup')
everyoneGroup.save()
if(everyoneGroup.hasErrors()){
println everyoneGroup.errors
}
println everyoneGroup
def dammit = BenchGroup.findByGroupName('everyoneGroup')
println dammit
当我在redis map行中留下注释时,它使用HSQL并输出以下内容:
stupidbenchmarks.BenchGroup : 2
stupidbenchmarks.BenchGroup : 2
当我切换到redis时,它会执行以下操作:
stupidbenchmarks.BenchGroup : 2
null
即.findBy不起作用。
最佳答案
Hibernate在执行查询之前会刷新(在本例中为findByGroupName
),但是NoSQL GORM Datastore实现尚未实现(因此),因此我假设您只需要刷新就可以将保存的实例推送到数据存储中,以便查询进行查询:
everyoneGroup.save(flush: true)