Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verwendung von Oracle 10g CLOB mit Grails 2.0.1

Ich denke Ich fand eine Antwort in der Dokumentation zu Custom Hibernate Types .

Das scheint zu funktionieren.

Sieht so aus, als könnte ich das verwenden, um meinen DB-Typ zu zwingen, CLOB zu sein, während der Java-Typ ein String bleibt. Mit anderen Worten, vielleicht type wählt sowohl einen DB-Typ als auch einen Java-Typ für die Behandlung des Felds? Aber sqlType gibt etwas mehr Granularität, um den zu verwendenden DB-Typ anzugeben.

Die obige Beispieldomänenklasse sollte also in meinem Fall so aussehen:

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

Ich habe dies aus einer anderen StackOverflow-Frage zu diesem Thema entnommen (die Frage selbst hat mich darauf hingewiesen, während die akzeptierte Antwort mich in die Irre geführt hat!):

Ich verbrachte einen Tag damit, das alles herauszufinden, und es war unglaublich frustrierend. Vielleicht helfen meine Anmerkungen zum Thema hier also jemand anderem, diese Erfahrung zu vermeiden!

Und während ich hier Notizen mache... hat sich dieser Beitrag als etwas nützlich erwiesen, um Fehler zu beheben, wie ich in meinen Mappings genauer werden kann:

Interessanter Code daraus ist hier wiedergegeben:

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