Search code examples
grailsgrails-orm

[B cannot be cast to java.sql.Blob


This is my domain class

class TimesheetSubmission {

    Date submissionDate=new Date()
    String foreman
    String shift
    String jobId
    Date date
    byte[] xmlSubmission
    String xmlResponse

    static constraints = {
         submissionDate nullable: false
         foreman nullable: false
         shift nullable: false
         jobId nullable: false
         date nullable: false
         xmlSubmission nullable: true
         xmlResponse nullable: false
    }
    static mapping = {
        xmlSubmission (type: "blob")
    }
}

And following is my code to persist data in database.

TimesheetSubmission timesheetSubmission=new TimesheetSubmission()
timesheetSubmission.foreman=Party.findById(foremanId)
timesheetSubmission.shift=shift
timesheetSubmission.jobId=jobId
timesheetSubmission.date=Date.parse("yyyy-MM-dd", date)
timesheetSubmission.xmlSubmission=sTimesheet.getBytes();
timesheetSubmission.xmlResponse="response"    
timesheetSubmission.save(flush: true,failOnError: true)

I am getting following error when applying save on domain .

[B cannot be cast to java.sql.Blob

Solution

  • static mapping = {
        xmlSubmission sqlType: 'blob'
    }