Je pense J'ai trouvé une réponse dans la documentation sur Types d'hibernation personnalisés .
Cela semble fonctionner.
On dirait que je peux l'utiliser pour forcer mon type de base de données à être CLOB tout en gardant le type java une chaîne. En d'autres termes, peut-être type
choisit à la fois un type DB et un type Java pour gérer le champ ? Mais sqlType
donne un peu plus de granularité pour spécifier le type de base de données à utiliser.
Ainsi, l'exemple de classe Domain ci-dessus devrait ressembler à ceci dans mon cas :
class Address {
String number
String postCode
static mapping = {
postCode sqlType: 'clob'
}
}
J'ai glané ceci à partir d'une autre question StackOverflow sur le sujet (la question elle-même m'a éclairé, alors que la réponse acceptée m'a induit en erreur !):
J'ai passé une journée à essayer de comprendre tout cela, et c'était incroyablement frustrant. Alors peut-être que mes notes sur le sujet ici aideront quelqu'un d'autre à éviter cette expérience !
Et pendant que je garde des notes ici... ce message s'est avéré quelque peu utile en termes de dépannage pour obtenir plus de précisions dans mes mappages :
Un code intéressant à partir de celui-ci est reproduit ici :
//CONFIG.GROOVY (maps a custom SixDecimal type)
grails.gorm.default.mapping = {
'user-type'( type: SixDecimalUserType, class: SixDecimal )
}