gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 11:35:03 25 4
gpt4 key购买 nike

JPA 映射

我将 JPA 与 Hibernate 结合使用。我有一个具有 @Lob 属性的实体

@Column(nullable=false)
@Lob
private String text;

我使用的是 PostgreSQL 8.4,实体与列正确映射

"text" text NOT NULL

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

<property name="url" value="jdbc:postgresql://myhostip:port/mydb?useUnicode=yes&amp;characterEncoding=UTF-8" />

此外,我在 posgreSQL 上的client_encodingUnicode(使用查询工具)或UTF-8(使用psql)。

问题

虽然我可以读取/持久化数据,但当我显示它时存在一些编码问题,例如显示 ��。

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

我还从 psql 导出了 text 属性到一个 test.txt 文件,内容没问题。

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

最佳答案

基于 this尝试在 @Lob

之后添加注释 @Type(type="org.hibernate.type.StringClobType")

关于hibernate - JPA @Lob 属性编码不适用于 PostgreSQL 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36122193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com