[英]Redis (grails plugin) does not persist Enum Object
我有一個grails域類,我必須在Redis中保留它,如下所示:
class A {
String one
Integer two
B three
E four
mapWith = "redis"
}
class B {
String name
}
enum E {
VALUE1, VALUE2
}
當我使用GORM .save()方法持久保存類A的實例時,Redis會正確保存它,枚舉字段“ four”除外。
如您所見,事實是已知的,並在此處報告: http : //jira.grails.org/browse/GPREDIS-3
有沒有保存Enum或類似方法的好方法? 我們正在考慮一個String對象數組,您認為呢?
我已經實現了大部分功能,但是它不適用於Gemfire,並且我一直等到針對所有受支持的nosql提供程序修復了該問題,然后再進行修復。 作為一種解決方法,可以將inList
約束與持久性String
屬性和具有當前屬性名稱的非持久性get / set對結合使用,例如
class A {
String one
Integer two
B three
String fourString
void setFour(E e) {
fourString = e?.name()
}
E getFour() {
fourString ? E.valueOf(fourString) : null
}
static constraints = {
fourString inList: E.values()*.name()
}
static transients = ['fourString']
static mapWith = "redis"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.