使用CrudRepository的保存
问题描述:
org.springframework.data.repository.CrudRepository
<S extends T> S save(S entity);
的是这两者之间的区别:
entity = crudRepository.save(entity)
crudRepository.save(entity)
重新引用变量保存()的返回值似乎没有必要。
答
实体= crudRepository.save(实体)
允许你回来,如果你保存一个新的实体生成的ID。
答
当您想取回保存的实体以根据它执行进一步的操作时,使用代码段entity = crudRepository.save(entity)
。
的documentation写着:
保存给定的实体。使用返回的实例进行进一步的操作,因为保存操作可能已经完全更改了实体实例。
该对象在第二种情况下具有生成的标识。 – Jeff
javadoc精确地说明了第二种情况的用途:“将返回的实例用于进一步操作,因为保存操作可能已完全更改了实体实例”http://docs.spring.io/spring-data/data-commons/docs /current/api/org/springframework/data/repository/CrudRepository.html#save-S- – Nargas
那么save方法会更新一些被引用的对象的属性,并返回一个新的对象和额外的属性?那根本就没有道理...... – Jeff