Grails .findBy不适用于redis

时间:2011-09-06 21:15:53

标签: grails redis gorm grails-plugin

我有一个非常简单的测试用例,我试图了解redis。我做了install-plugin redis-gorm。

域对象:

class BenchGroup {
  String groupName
  /*static mapWith = "redis"
  static mapping = {
    groupName(index:true)
  }*/
  static constraints = {
  }
}

Bootstrap代码:

def everyoneGroup = new BenchGroup(groupName:'everyoneGroup')
everyoneGroup.save()
if(everyoneGroup.hasErrors()){
  println everyoneGroup.errors
}
println everyoneGroup
def dammit = BenchGroup.findByGroupName('everyoneGroup')
println dammit

当我离开redis地图行注释时,它使用HSQL并输出:

stupidbenchmarks.BenchGroup : 2
stupidbenchmarks.BenchGroup : 2

当我切换到redis时,它会这样做:

stupidbenchmarks.BenchGroup : 2
null

即。 .findBy不起作用。

1 个答案:

答案 0 :(得分:1)

Hibernate在进行查询之前刷新(在本例中为findByGroupName),但NoSQL GORM数据存储区实现还没有(还),所以我假设您只需要刷新将已保存的实例推送到数据存储区,以便查询选择它:

everyoneGroup.save(flush: true)