Мне нужно сохранить длинный текст в сущности с использованием HSQL, но он не работает.Не удается сохранить CLOB в hsql с JPA
Вот мой JPA аннотацию
@Entity
public class DocPart extends AbstractEntity{
....
/**
* the text of this docPart, exctract from the comment in the odt.
*/
@Column(columnDefinition = "clob")
@Lob
private String text;
....
}
Когда я сохранить этот объект
docPart.setId(1);
docPart.setText("A text that could be large");
entityManager.persist(docPart);
и проверить в базе данных вместо текста я получаю это
SELECT text FROM "PUBLIC"."DOCPART"
text
=======================================
[email protected]
Я получаю эту JDBCClobClient @ 37c0372c вместо текста «Текст, который может быть большим»
Любая идея?
Что было вызвано SQL для его сохранения? Что такое "entityManager.save (...)"? Что такое код для его получения? Что такое поставщик JPA? ... –
Провайдер JPA - это спящий режим, я ошибся - это entityManager.persist(). DDL создается определением сущности. Вызываемый SQL - это вставка в значения DocPart (id, annotationName, author, doc_id, pageEnd, pageStart, text) (по умолчанию,?,?,?,?,?,?) –
Если я использую это определение столбца @Column (columnDefinition = «LONGVARCHAR») длинный текст правильно вставлен в базу данных, но LONGVARCHAR не переносится. –