实现CrudRepository接口的save方法进行记录更新时,遇到了更新记录反而插入新纪录的情况,经过探究发现,还是对源码不熟,对该方法的逻辑未清晰。下面通过这个bug来探究CrudRepository接口的save方法的记录判断。
首先看下CrudRepository接口的save方法的源码:
@Transactional
public <S extends T> S save(S entity) {
if (entityInformation.isNew(entity)