我要保存/更新对象列表,以使数据库上最多 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个查询将数据库中的数据哑化