Seam 文件上传到 postgres bytea 列“列是 bytea,但表达式的类型是 bigint”

2024-07-03

密切关注这个例子 http://seamframework.org/Documentation/HowToUploadAndDownloadFilesInSeam,我正在上传一个小文件并尝试存储到 postgresql bytea 列中。

这是错误(前两个输出是在尝试 INSERT 之前输出 bean 属性的日志记录语句:

SAGE 1 -- action.registration.LetterTemplateHome - 内容类型:text/xml

SAGE 1 -- action.registration.LetterTemplateHome - letterTemplateText:[B@48c7aaef

SAGE 1 -- action.registration.LetterTemplateHome - 内容为字符串:xml version =“1.0”encoding =“UTF-8”standalone =“yes”...等

SAGE 1 -- org.hibernate.util.JDBCExceptionReporter - 批量条目 0 插入 letter_template (content_type, file_name_template, fileSize, letter_template_name, letter_template_text, letter_template_id) 值 ('text/xml', 'letterDate.xml', '0', ' yu', '37078', '202') 被中止。调用 getNextException 查看原因。

SAGE 1 -- org.hibernate.util.JDBCExceptionReporter - 错误:列“letter_template_text”的类型为 bytea,但表达式的类型为 bigint 提示:您需要重写或转换表达式。 位置:162

以下是该字段在 bean 中的定义方式:

    private byte[] letterTemplateText;

@Lob
@Column(name = "letter_template_text")
@Basic(fetch = FetchType.LAZY)
public byte[] getLetterTemplateText() {
    return this.letterTemplateText;
}

public void setLetterTemplateText(byte[] letterTemplateText) {
    this.letterTemplateText = letterTemplateText;
}

对我来说,它与类型一起工作bytea在 Postgres 数据库中。

@Lob
@Type(type="org.hibernate.type.BinaryType")
@Column(name = "photo")
private byte[] photo;

//and get and set
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Seam 文件上传到 postgres bytea 列“列是 bytea,但表达式的类型是 bigint” 的相关文章

随机推荐