当前使用版本(必填,否则不予处理)
报错信息
==> Preparing: INSERT INTO sys_users_roles (user_id, role_id, tenant_id, create_by, update_by, create_time, update_time) VALUES (?, ?, ?, ?, ?, ?, ?) ==> Parameters: 13(Long), 20(Long), null, 2(String), 2(String), null, null
Comment From: miemieYaho
怎么个无法插入法?
Comment From: SeasonCCC
一直为 null 像报错信息那里显示,用 saveBatch 就可以
Comment From: miemieYaho
给出你的复现demo
Comment From: SeasonCCC
- 使用 insertBatchSomeColumn
userRoleMapper.insertBatchSomeColumn(
createRoleIds.stream().map(roleId -> {
UserRoleDO entity = new UserRoleDO();
entity.setUserId(userId);
entity.setRoleId(roleId);
return entity;
}).toList()
);
Sql 最终会转化成:
==> Preparing: INSERT INTO sys_users_roles (user_id, role_id, tenant_id, create_by, update_by, create_time, update_time) VALUES (?, ?, ?, ?, ?, ?, ?)
==> Parameters: 21(Long), 27(Long), null, 2(String), 2(String), null, null
tenant_id 为空。
- 使用 saveBatch
userRoleInsertMapper.saveBatch(
createRoleIds.stream().map(roleId -> {
UserRoleDO entity = new UserRoleDO();
entity.setUserId(userId);
entity.setRoleId(roleId);
return entity;
}).toList()
);
Sql 最终转化成:
==> Preparing: INSERT INTO sys_users_roles (user_id, role_id, create_by, update_by, tenant_id) VALUES (?, ?, ?, ?, 147)
==> Parameters: 23(Long), 29(Long), 2(String), 2(String)
tenant_id 成功插入
Comment From: miemieYaho
注入insertBatchSomeColumn的地方需要自己排除掉租户字段