Ich denke Ich fand eine Antwort in der Dokumentation zu Custom Hibernate Types .
Das scheint zu funktionieren.
Sieht so aus, als könnte ich das verwenden, um meinen DB-Typ zu zwingen, CLOB zu sein, während der Java-Typ ein String bleibt. Mit anderen Worten, vielleicht type
wählt sowohl einen DB-Typ als auch einen Java-Typ für die Behandlung des Felds? Aber sqlType
gibt etwas mehr Granularität, um den zu verwendenden DB-Typ anzugeben.
Die obige Beispieldomänenklasse sollte also in meinem Fall so aussehen:
class Address {
String number
String postCode
static mapping = {
postCode sqlType: 'clob'
}
}
Ich habe dies aus einer anderen StackOverflow-Frage zu diesem Thema entnommen (die Frage selbst hat mich darauf hingewiesen, während die akzeptierte Antwort mich in die Irre geführt hat!):
Ich verbrachte einen Tag damit, das alles herauszufinden, und es war unglaublich frustrierend. Vielleicht helfen meine Anmerkungen zum Thema hier also jemand anderem, diese Erfahrung zu vermeiden!
Und während ich hier Notizen mache... hat sich dieser Beitrag als etwas nützlich erwiesen, um Fehler zu beheben, wie ich in meinen Mappings genauer werden kann:
Interessanter Code daraus ist hier wiedergegeben:
//CONFIG.GROOVY (maps a custom SixDecimal type)
grails.gorm.default.mapping = {
'user-type'( type: SixDecimalUserType, class: SixDecimal )
}