在我的应用程序中,我想用大数据初始化它。当我在一个YML文件中写入所有这些数据时,它大约是4 MB但是应用程序没有开始发生java堆空间错误。当我删除它的某些部分直到109 KB时,一切都有效但当然有一些缺失的数据。
我希望解决此问题的方法之一是:
注意:我的应用程序中的大多数数据互相引用,因此我无法将它们分成多个文件。
答案 0 :(得分:0)
您可以查看DBUnit以转储并重新加载整个数据库,假设它是SQL。
答案 1 :(得分:0)
我在创业公司做了类似的事情:
@Override
public void doJob() {
if (Image.count() == 0 && Play.mode.equals(Play.Mode.DEV)) {
Fixtures.deleteAllModels();
List<Image> images = Fixtures.loadYaml("Images.yml", List.class); //<-- this just loads the image objects (not in db yet)
Fixtures.loadModels("Albums.yml"); // <----- this puts albums into db
int i = 0;
for (Image img : images) {
img.album = Album.find("byName", img.album.name).first();
img.save(); // <--- here image entities go into db
i++;
}
}