Аз мисля Намерих отговор, скрит в документацията за Персонализирани типове хибернация .
Изглежда, че това работи.
Изглежда, че мога да използвам това, за да принудя моя тип DB да бъде CLOB, като същевременно запазвам типа на Java като String. С други думи, може би type
избира както тип DB, така и тип Java за обработка на полето? Но sqlType
дава малко повече детайлност за указване на типа DB, който да се използва.
Така че примерният клас Domain по-горе трябва да изглежда така в моя случай:
class Address {
String number
String postCode
static mapping = {
postCode sqlType: 'clob'
}
}
Набрах това от друг въпрос на StackOverflow по темата (самият въпрос ме подсказа, докато приетият отговор ме подведе!):
Прекарах цял ден, опитвайки се да разбера всичко това и беше невероятно разочароващо. Така че може би моите бележки по темата тук ще помогнат на някой друг да избегне това преживяване!
И докато си водя бележки тук... тази публикация се оказа донякъде полезна по отношение на отстраняването на неизправности, как да стана по-конкретна в моите съпоставяния:
Интересен код от това е възпроизведен тук:
//CONFIG.GROOVY (maps a custom SixDecimal type)
grails.gorm.default.mapping = {
'user-type'( type: SixDecimalUserType, class: SixDecimal )
}