Search code examples
oracle-databasegrailsgroovygrails-ormdomain-mapping

Groovy domain mapping


I have a to save a pdf report into an Oracle DB. The report's dataType is a byteArray.

The domain definition is as follows:

static constraints = {
 report(nullable:false)
 company(nullable:false)    
 month(nullable:false)    
}

byte[] report
Company company
Date month

}

Unfortunately this defines in the Oracle DB a field which has A RAW data_type and a lenghth of 255.

How should I define this field into the domain class? Should be defined as a BLOB?

If yes, How to do this?

Thanks in advance.


Solution

  • 255 is the default size provided to a byte[]. Specify the max size for report in constraints as per your requirement. Something like:

    static constraints = {
        report(maxSize: 50000000)
    }
    

    Based on max size, the field type in DB will be set. (mediumblob, longblob etc.)