myślę Znalazłem odpowiedź ukrytą w dokumentacji Niestandardowe typy hibernacji .
Wygląda na to, że to działa.
Wygląda na to, że mogę użyć tego, aby wymusić mój typ DB na CLOB, zachowując typ java jako String. Innymi słowy, może type
wybiera zarówno typ DB, jak i typ Java do obsługi pola? Ale sqlType
zapewnia nieco większą szczegółowość przy określaniu typu bazy danych, który ma być używany.
Tak więc przykładowa klasa domeny powyżej powinna wyglądać tak w moim przypadku:
class Address {
String number
String postCode
static mapping = {
postCode sqlType: 'clob'
}
}
Wyciągnąłem to z innego pytania StackOverflow na ten temat (samo pytanie mnie naprowadziło, podczas gdy przyjęta odpowiedź zmyliła mnie!):
Spędziłem dzień próbując to wszystko rozgryźć i było to niesamowicie frustrujące. Może więc moje notatki na ten temat pomogą komuś innemu uniknąć tego doświadczenia!
I chociaż prowadzę tutaj notatki ... ten post okazał się nieco przydatny w rozwiązywaniu problemów, jak uzyskać bardziej szczegółowe informacje w moich mapach:
Ciekawy kod z tego jest reprodukowany tutaj:
//CONFIG.GROOVY (maps a custom SixDecimal type)
grails.gorm.default.mapping = {
'user-type'( type: SixDecimalUserType, class: SixDecimal )
}