JDBC / Hibernate将批处理转换为多插入语句

时间:2018-11-15 13:45:14

标签: sql-server oracle hibernate jdbc hsqldb

我要保存/更新对象列表,以使数据库上最多 4个SQL操作/查询

  

2插入查询两个不同表的新记录。

     

2 update查询两个不同表的更新记录。

在Hibernate中可以用于HSQL,MSQL,Oracle,MYSQL

通过搜索,我遇到了以下使用MySQL进行插入的解决方案。


设置以下属性以进行休眠会话工厂配置。

hibernate.jdbc.batch_size

并使用以下连接URL

jdbc\:mysql\://localhost\:3306/opshub?rewriteBatchedStatements=true

它生成单个插入查询

insert into test values (1,"abc"),(2,"xyz");

HSQL,MSSQL,ORACLE

我有一个Java Object代表如下表。

class UserDetails{

int id;
String userName;

OneToMany
List<UserAssociation> association;

}

class UserAssociation{

ManyToOne
UserDetails user;
int systemId;
int lastSeenTime;

}

我将拥有以下用于插入/更新的记录

 List<UserDetails> inserts (with List<UserAssociation> association);
 List<UserAssociation> inserts and update for UserDetails

 List<UserDetails> updates
 List<UserAssociation> updats

要求是使用Hibernate和所有数据库服务器(例如SQL-SERVER,MySQL,ORACLE,HSQL)最多使用4个查询将数据库中的数据哑化

0 个答案:

没有答案