2015-10-13 95 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寫着:

保存給定的實體。使用返回的實例進行進一步的操作,因爲保存操作可能已經完全更改了實體實例。