Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Usando Oracle 10g CLOB com Grails 2.0.1


Eu acho Encontrei uma resposta na documentação em Tipos de hibernação personalizados .

Isso parece estar funcionando.

Parece que posso usar isso para forçar meu tipo de banco de dados a ser CLOB enquanto mantenho o tipo java como String. Em outras palavras, talvez type escolhe um tipo de banco de dados e um tipo de Java para manipular o campo? Mas sqlType fornece um pouco mais de granularidade para especificar o tipo de banco de dados a ser usado.

Portanto, a classe Domain de amostra acima deve ficar assim no meu caso:
class Address {
    String number
    String postCode
    static mapping = {
        postCode sqlType: 'clob'
    }
} 

Eu peguei isso de outra pergunta do StackOverflow sobre o tópico (a própria pergunta me deu uma pista, enquanto a resposta aceita me enganou!):

Passei um dia tentando descobrir tudo isso, e foi incrivelmente frustrante. Então, talvez minhas notas sobre o tópico aqui ajudem alguém a evitar essa experiência!

E enquanto estou fazendo anotações aqui... este post se mostrou um tanto útil em termos de solução de problemas de como ser mais específico em meus mapeamentos:

Código interessante disso é reproduzido aqui:
//CONFIG.GROOVY (maps a custom SixDecimal type)
grails.gorm.default.mapping = {
    'user-type'( type: SixDecimalUserType, class: SixDecimal )
}