JPA @Lob 属性编码不适用于 PostgreSQL 文本

Raf*_*ima 6 postgresql encoding hibernate jpa lob

JPA映射

我在 Hibernate 中使用 JPA。我有一个带有@Lob属性的实体

@Column(nullable=false)
@Lob
private String text;
Run Code Online (Sandbox Code Playgroud)

我正在使用 PostgreSQL 8.4 并且实体与列正确映射

"text" text NOT NULL
Run Code Online (Sandbox Code Playgroud)

我的视图页面使用 UTF-8 编码,我的 URL 连接也使用正确的编码:

<property name="url" value="jdbc:postgresql://myhostip:port/mydb?useUnicode=yes&amp;characterEncoding=UTF-8" />
Run Code Online (Sandbox Code Playgroud)

另外,我在posgreSQL上的 client_encoding 是Unicode(使用查询工具)或UTF-8(使用 psql)。

问题

虽然我可以读取/保留数据,但当我显示它时,会出现一些编码问题,例如显示 ??。

另一个信息是,在同一个实体上,我有另一个String属性,可以正确显示 @Lob 属性的相同内容。

我还将psql 中text属性导出到test.txt文件中,内容正常。

我在持久化(调试)之前测试了该属性的值,并且该值是正确的。