2015-10-13 92 views
0

使用使用CrudRepository的保存

org.springframework.data.repository.CrudRepository 
<S extends T> S save(S entity); 

的是这两者之间的区别:

entity = crudRepository.save(entity) 
crudRepository.save(entity) 

重新引用变量保存()的返回值似乎没有必要。

回答

0

实体= crudRepository.save(实体)

允许你回来,如果你保存一个新的实体生成的ID。

+0

该对象在第二种情况下具有生成的标识。 – Jeff

+0

javadoc精确地说明了第二种情况的用途:“将返回的实例用于进一步操作,因为保存操作可能已完全更改了实体实例”http://docs.spring.io/spring-data/data-commons/docs /current/api/org/springframework/data/repository/CrudRepository.html#save-S- – Nargas

+0

那么save方法会更新一些被引用的对象的属性,并返回一个新的对象和额外的属性?那根本就没有道理...... – Jeff

0

当您想取回保存的实体以根据它执行进一步的操作时,使用代码段entity = crudRepository.save(entity)

documentation写着:

保存给定的实体。使用返回的实例进行进一步的操作,因为保存操作可能已经完全更改了实体实例。