sql >> Base de Datos >  >> RDS >> Oracle

Usando Oracle 10g CLOB con Grails 2.0.1

yo creo Encontré una respuesta en la documentación de Tipos personalizados de Hibernate .

Esto parece estar funcionando.

Parece que puedo usar eso para forzar que mi tipo de base de datos sea CLOB mientras mantengo el tipo de java como una cadena. En otras palabras, quizás type elige un tipo DB y un tipo Java para manejar el campo? Pero sqlType da un poco más de granularidad para especificar el tipo de base de datos a usar.

Entonces, la clase de dominio de muestra anterior debería verse así en mi caso:

class Address {
    String number
    String postCode
    static mapping = {
        postCode sqlType: 'clob'
    }
} 

Obtuve esto de otra pregunta de StackOverflow sobre el tema (¡la pregunta en sí me dio una pista, mientras que la respuesta aceptada me engañó!):

Pasé un día tratando de resolver todo esto, y fue increíblemente frustrante. ¡Así que tal vez mis notas sobre el tema ayuden a alguien más a evitar esa experiencia!

Y mientras tomo notas aquí... esta publicación resultó algo útil en términos de resolución de problemas sobre cómo ser más específico en mis asignaciones:

Aquí se reproduce un código interesante:

//CONFIG.GROOVY (maps a custom SixDecimal type)
grails.gorm.default.mapping = {
    'user-type'( type: SixDecimalUserType, class: SixDecimal )
}