我要插入多条记录。但是这些记录可能包含重复值,或者数据库可能与这些记录具有相同的值。我的问题是如何检查当前插入是否重复。有没有办法在hibernate中插入saveorupdate时更新现有数据?我正在使用spring的JdbcTemplate。
例如
要插入的记录:
Name Phone
A 111
B 222
A 333
表:
ID(auto) Name Phone(unique)
1 C 111 //here update
2 D 888
3 //here insert new data
答案 0 :(得分:0)
如果要一起更新多个表,过程可能有所帮助。 此外,要更新多行,最好一次更新一行,即使用一些语句来查找是否存在以及后续触发查询。 要查找仅对其唯一ID进行搜索查询,如果value不为null,请继续执行update usage refernece。
答案 1 :(得分:0)
也许你可以尝试一下。
public void insert(ModelName modelName){
//condition to check if Phone is an existent row
String sql = "INSERT INTO modelName" +
"(ID, NAME) VALUES (?, ?)";
jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.update(sql, new Object[] { modelName.getId(),
modelName.getName()
});
}