【问题标题】:Grails: Serializable domain propertyGrails:可序列化的域属性
【发布时间】:2014-06-18 21:52:06
【问题描述】:

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

例子:

class AuditReportLog {

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

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

这个想法是将一个对象作为一个 BLOB 实例完整地保存到 DB 中的 AuditReportLog 表中,当然假设一个序列化的对象将被保存为一个 BLOB 值。

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

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

【问题讨论】:

  • 这是不可能的

标签: grails grails-orm


【解决方案1】:
// 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'
    }
}

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 2011-01-16
    • 2011-07-20
    相关资源
    最近更新 更多