Mysql 在Micronaut作业中保存GORM实体时,文本字段引发DataIntegrityViolationException。。。数据截断:数据对列太长

Mysql 在Micronaut作业中保存GORM实体时,文本字段引发DataIntegrityViolationException。。。数据截断:数据对列太长,mysql,hibernate,groovy,gorm,micronaut,Mysql,Hibernate,Groovy,Gorm,Micronaut,我试图在Micronaut项目作业中保存GORM实体: 实体: @Entity class OutputProcess extends Process implements Serializable{ static hasMany = [ rows: StatusRow ] static mapping = { content type: 'text' info type: 'text' r

我试图在Micronaut项目作业中保存GORM实体:

实体:

@Entity
class OutputProcess extends Process implements Serializable{

    static hasMany = [
            rows: StatusRow
    ]

    static mapping = {
        content type: 'text'
        info    type: 'text'
        rows lazy: false, cascade: 'all-delete-orphan'
    }

    static constraints = {
        target       nullable: false
        status       nullable: false
        content      nullable: false
        contentId    nullable: true
        info         nullable: true
    }
}

class Process extends DomainBase{
    String target
    ProcessStatus status
    String info

    String content
    Long contentId
}

class DomainBase {
    Date dateCreated = new Date()
    Date lastUpdated = new Date()

    String createdBy = "system"
    String updatedBy = "system"
}
调用堆栈:

@Transactional
@Singleton
@Slf4j
class WorkerJob{
    @Inject ProcessService processService

    @Scheduled(fixedDelay = "600s", initialDelay = "60s")
    void processPoints(){
        // ...
        processService.updateProcessList(outputProcessList)
    }
}

@Service(OutputProcess)
class ProcessService{
    List<OutputProcess> updateProcessList(List<OutputProcess> outputProcessList) {
        for ( OutputProcess outputProcess : outputProcessList ){
            outputProcess.markDirty()
            outputProcess.save(flush: true, failOnError:true)
        }
        return outputProcessList
    }
}
错误:

org.springframework.dao.DataIntegrityViolationException:休眠操作:无法 执行语句;SQL[n/a];数据截断:第1行“info”列的数据太长; 嵌套的异常是com.mysql.jdbc.MysqlDataTruncation:数据截断:数据太长,无法访问 第1行的“信息”列


我尝试了许多保存方法,但它们都给出了相同的错误。

我犯了一个错误,因为StatusRow实体的“行”中有一个名为“info”的列,但没有键入“text”

info longtext NULL