我们遇到一个问题,我们需要在DB中保留输入文件的副本(监管目的)。该文件的大小可达1GB。有没有办法(使用流式传输和增量更新)使用JPA将整个文件插入到数据库中?
答案 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;
...
}
答案 1 :(得分:-1)
如果文件真的可以是1g而你没有> 1g的RAM,那么你最好的选择可能是使用文件流和JDBC Blob的原始JDBC。