Grails .findBy не работает с Redis - PullRequest
       14

Grails .findBy не работает с Redis

0 голосов
/ 07 сентября 2011

У меня есть очень простой тестовый пример, который я использую, чтобы попытаться понять redis.Я установил плагин redis-gorm.

Доменный объект:

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

Bootstrap Code:

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 Ответ

1 голос
/ 07 сентября 2011

Hibernate сбрасывает перед выполнением запросов (в данном случае findByGroupName), но реализации NoSQL GORM Datastore этого не делают (пока), поэтому я предполагаю, что вам просто необходима очистка, чтобы отправить сохраненный экземпляр в хранилище данных, чтобы запрос поднял его :

everyoneGroup.save(flush: true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...