在Postgresql中存储任意长度的字符串

Jav*_*avi 12 database postgresql hibernate jpa spring-roo

我有一个Spring应用程序,它使用最初使用Spring Roo创建的JPA(Hibernate).我需要存储任意长度的字符串,所以为此我用@Lob注释了字段:

public class MyEntity{

    @NotNull
    @Size(min = 2)
    @Lob
    private String message;

    ...
}
Run Code Online (Sandbox Code Playgroud)

该应用程序在localhost中正常工作,但我已将其部署到外部服务器,并且出现了编码问题.出于这个原因,我想检查存储在PostgreSQL数据库中的数据是否正常.应用程序自动创建/更新表.对于该字段(消息),它创建了一个类型的列:

text NOT NULL

问题是,如果我浏览表格或只是对该列进行选择而存储数据后,我看不到文本而是数字.这些数字似乎是存储该信息的"某处"的标识符.

任何人都可以告诉我这些标识符究竟是什么,以及是否有任何方法可以从pgAdmin或select子句中查看@Lob列中的存储数据?

有没有更好的方法来存储JPA中任意长度的字符串?

谢谢.

Kri*_*ris 19

我建议跳过'@Lob'注释并使用columnDefinition,如下所示:

@Column(columnDefinition="TEXT")
Run Code Online (Sandbox Code Playgroud)

看看这有助于在浏览数据库时查看数据.