Grails:可序列化的域属性

时间:2014-06-18 21:52:07

标签: grails gorm

我正在尝试拥有一个存储序列化对象的域属性。

示例:

class AuditReportLog {

    String entityName
    Report report
    // I would ideally like to declare it as:
    // Object reportObject

    static constraints = {
        entityName nullable:true
    report nullable:true
    }
}

我们的想法是将一个对象全部保存到DB中的AuditReportLog表中作为BLOB实例,当然假设序列化对象将保存为BLOB值。

当我将对象设置为Report属性并保存实例时,它根本不会保留。我试图找到一些关于我们如何做到这一点的在线参考,但没有找到任何干净的说明。

有人可以帮忙吗?如果我的问题需要更清晰,请告诉我。

1 个答案:

答案 0 :(得分:0)

// Object to save in the domain

class Avatar implements Serializable {
    private static final long serialVersionUID = -319053589578336L;
    private String name
    private String extension
    private byte[] file

    public Avatar(String name, String extension, byte[] file) {
        this.name = name
        this.extension = extension
        this.file = file
    }
    public String getImageExtension(){
        return extension
    }
    public String getImageName(){
        return name
    }

    public byte[] getImage(){
        return file
    }
}


// Domain in which Avatar is storing there
class ClientAvatar {

    Avatar picture

    static constraints = {
        picture nullable: true
    }

    static mapping = {
        picture sqlType: 'LONGBLOB'
    }
}