Oracle
 sql >> Database >  >> RDS >> Oracle

Utilizzo di Oracle 10g CLOB con Grails 2.0.1

penso Ho trovato una risposta nascosta nella documentazione su Tipi di sospensione personalizzati .

Sembra funzionare.

Sembra che io sia in grado di usarlo per forzare il mio tipo di DB a essere CLOB mantenendo il tipo java a String. In altre parole, forse type sceglie sia un tipo DB che un tipo Java per la gestione del campo? Ma sqlType fornisce un po' più di granularità per specificare il tipo di database da utilizzare.

Quindi la classe Domain di esempio sopra dovrebbe apparire così nel mio caso:

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

L'ho raccolto da un'altra domanda di StackOverflow sull'argomento (la domanda stessa mi ha dato indizi, mentre la risposta accettata mi ha fuorviato!):

Ho passato un giorno a cercare di capire tutto questo, ed è stato incredibilmente frustrante. Quindi forse le mie note sull'argomento qui aiuteranno qualcun altro a evitare quell'esperienza!

E mentre sto prendendo appunti qui... questo post si è rivelato in qualche modo utile in termini di risoluzione dei problemi su come diventare più specifici nelle mie mappature:

Il codice interessante è riprodotto qui:

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