我们在使用Ebean进行批量插入时遇到了一些麻烦。我们有一个对象集合(大约100个)和我们的数据库在一个具有大量延迟的远程区域。
我们需要使用一个请求发送插入内容。我尝试使用以下代码执行此操作。
Transaction transaction = Ebean.beginTransaction();
try {
transaction.setBatchMode(true);
// Use JDBC batch API with a batch size of 100
transaction.setBatchSize(100);
// Don't bother getting generated keys
transaction.setBatchGetGeneratedKeys(false);
// Skip cascading persist
transaction.setPersistCascade(false);
entity.getList().forEach(Ebean::save);
transaction.commit();
} catch (Exception ex) {
Logger.error(ex.getMessage());
System.out.print(ex);
} finally {
transaction.end();
}
它似乎工作但实际上TCP转储显示一个语句是由对象发送的,所以我们有大约100个交换,而且它很慢。
由于