Подтвердить что ты не робот

JPA и PostqreSQL: сохранение длинных строк

Может ли кто-нибудь сказать мне, как сохранить длинный текст с помощью JPA (я использую PostgreSQL)?

Вот как я определил очень длинную строку в моем классе:

@Lob
private String  body;

Однако это создает поле типа charactervarying (255) в базе данных.

Кроме того, я попытался использовать аннотацию @Column:

@Column(columnDefinition="TEXT")
private String  body;

Но все напрасно.

Я был бы признателен за полезный комментарий по этой проблеме.

4b9b3361

Ответ 1

@Column(columnDefinition="TEXT")

действительно способ сделать это. Возможно, вам нужно восстановить свой DDL?

Ответ 2

У меня был тот же случай сегодня. Просто

@Lob
private String  body;

должен создать столбец db типа "текст" (PostgreSQL - переменная неограниченная длина), но таблица должна быть восстановлена.

Ответ 3

Это очень старый пост, но поскольку у него много просмотров, и у меня был подобный вопрос и сегодня, я думаю, это стоит простого ответа.

Мое решение было похоже, но я обнаружил, что мне нужен столбец LONGTEXT:

@Column(columnDefinition="LONGTEXT")
private String body;

И да, вам нужно его восстановить. Я использую Play! и мне пришлось перезапустить мое приложение.

Ответ 4

Вы также можете использовать аннотации проверки:

@Size(max=xxx)

Это также будет служить ограничением проверки.