一尘不染

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

hibernate

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

public class MyEntity{

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

    ...
}

该应用程序可以在本地主机上正常运行,但是我已将其部署到外部服务器,并且出现了编码问题。因此,我想检查存储在PostgreSQL数据库中的数据是否正确。该应用程序自动创建/更新表。并且为该字段(消息)创建了一个类型为列的列:

文字NOT NULL

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

谁能告诉我这些标识符的确切含义,以及是否可以通过pgAdmin或select子句查看@Lob列中存储的数据?

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

谢谢。


阅读 1038

收藏
2020-06-20

共1个答案

一尘不染

我建议跳过“ @Lob”注释,并使用columnDefinition像这样:

@Column(columnDefinition="TEXT")

查看这是否有助于在浏览数据库本身时查看数据。

2020-06-20