如何在hibernate中使用mysql compress()/ uncompress()?

时间:2010-06-04 14:18:33

标签: java mysql hibernate compression

如何在存储之前使用mysql的compress()和uncompress()函数压缩文本,并在使用带有hibernate for mysM的mysql数据库检索文本时将其解压缩?

3 个答案:

答案 0 :(得分:4)

自3.6以来见ColumnTransformer,IIRC:

@Column(name = "data", columnDefinition = "BLOB", nullable = false)
@ColumnTransformer(read = "UNCOMPRESS(data)", write = "COMPRESS(?)")
@Lob
public byte[] getData()
{
    return theData;
}

答案 1 :(得分:1)

native queries? 但我不必告诉你,你的应用程序将依赖于mysql rdbms然后;)

答案 2 :(得分:0)

解决方法是使用存储过程而不是查询。 hibernate存储过程supported。不过,这可能会变得笨拙。