jpa的插入问题
在做一个对象插入时,只修改一个字段循环插入时。jpa只插入第一条,其余几条皆为更新
三个方法都用过,全部都是插入一样的结果
messageRepository.save();
messageRepository.saveAll();
messageRepository.saveAndFlush()
解决方法:
每次循环新建一个对象拷贝原对象
if ("prod".equals(version)) {
//自己实现插入方法
events.setRecipient(recipient);
messageRepository.insertMessage(events.getEndTime(), events.getInsertTime(), events.getMsg(),
events.getRecipient(), events.getStartTime(), events.getStatus(), events.getType(),
events.getUid());
} else if ("dev".equals(version)) {
//使用原生jpa语句,使用新对象保存
Events eventsTemp = new Events();
BeanUtils.copyProperties(eventsTemp,events);
messageRepository.save(eventsTemp);
}
每次循环新建一个对象拷贝原对象