Ответ 1
@Column(columnDefinition="TEXT")
действительно способ сделать это. Возможно, вам нужно восстановить свой DDL?
Может ли кто-нибудь сказать мне, как сохранить длинный текст с помощью JPA (я использую PostgreSQL)?
Вот как я определил очень длинную строку в моем классе:
@Lob
private String body;
Однако это создает поле типа charactervarying (255) в базе данных.
Кроме того, я попытался использовать аннотацию @Column:
@Column(columnDefinition="TEXT")
private String body;
Но все напрасно.
Я был бы признателен за полезный комментарий по этой проблеме.
@Column(columnDefinition="TEXT")
действительно способ сделать это. Возможно, вам нужно восстановить свой DDL?
У меня был тот же случай сегодня. Просто
@Lob
private String body;
должен создать столбец db типа "текст" (PostgreSQL - переменная неограниченная длина), но таблица должна быть восстановлена.
Это очень старый пост, но поскольку у него много просмотров, и у меня был подобный вопрос и сегодня, я думаю, это стоит простого ответа.
Мое решение было похоже, но я обнаружил, что мне нужен столбец LONGTEXT
:
@Column(columnDefinition="LONGTEXT")
private String body;
И да, вам нужно его восстановить. Я использую Play! и мне пришлось перезапустить мое приложение.
Вы также можете использовать аннотации проверки:
@Size(max=xxx)
Это также будет служить ограничением проверки.