如何使用JPA插入Clob

时间:2011-08-29 13:44:38

标签: java oracle jpa eclipselink

我们遇到一个问题,我们需要在DB中保留输入文件的副本(监管目的)。该文件的大小可达1GB。有没有办法(使用流式传输和增量更新)使用JPA将整个文件插入到数据库中?

2 个答案:

答案 0 :(得分:3)

您可以在字段上使用@Lob注释,而您的JPA提供程序将会弄清楚其余部分。我用它来

例如:

@Entity
public class TextArticle{

    private Date creationDate;

    @Lob
    private String textContent;

    ...
}

然后,将其用作String。

EntityManager em;
em.persist(new TextArticle(date, textContent));

如果您更喜欢使用BLOB而不是CLOB,请尝试:

@Entity
public class TextArticle{

    private Date creationDate;

    @Lob
    private byte[] textBytes;

    ...
}

查看Hibernate Documentation

答案 1 :(得分:-1)

如果文件真的可以是1g而你没有> 1g的RAM,那么你最好的选择可能是使用文件流和JDBC Blob的原始JDBC。