【发布时间】:2023-03-19 03:24:01
【问题描述】:
List<Picture> pictures = Picture.findAll(); //Around 2GB of data (uses JPA/play framework)
for (Picture picture : pictures) {
byte[] b = picture.image.data; //Image raw data is stored in a different table than Picture table
System.out.println(picture.file_name + " " + b.length);
}
上面的代码在运行时会导致java.lang.OutOfMemoryError,因为图片存储在数据库中,而不是数据库中的文件引用。
一旦对象完成处理,我是否可以“刷新”内存?
我试过picture.em().flush() 和Iterator.remove(), System.gc(),都没有奏效。
请帮忙。
【问题讨论】:
标签: java jpa playframework