我需要使用HSQL在实体中保存一些长文本,但它不起作用。
这是我的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
=======================================
org.hsqldb.jdbc.JDBCClobClient@37c0372c
我得到这个JDBCClobClient @ 37c0372c而不是文本“可能很大的文本”
有什么想法吗?
答案 0 :(得分:0)
看起来它工作正常并且数据已正确插入。 org.hsqldb.jdbc.JDBCClobClient@37c0372c显示数据保存在CLOB中。要检索文本,请调用该对象的getXXX()方法。 CLOB大小可能是一个几百字节或更多,因此通常的做法是使用来自clob的Reader对象检索内容。