實體狀態檢測策略
下表描述了 Spring Data 用於檢測實體是否為新的策略:
表 1. Spring Data 中檢測實體是否為新的選項
@Id-屬性檢查(預設)
|
預設情況下,Spring Data 會檢查給定實體的識別符號屬性。如果識別符號屬性為 null 或(對於基本型別)為 0,則認為實體是新的。否則,認為它不是新的。 |
@Version-屬性檢查
|
如果存在帶有 @Version 註解的屬性且為 null,或者對於基本型別版本屬性為 0,則認為實體是新的。如果版本屬性存在但具有不同的值,則認為實體不是新的。如果不存在版本屬性,Spring Data 會回退到識別符號屬性檢查。 |
實現 Persistable |
如果實體實現了 Persistable 介面,Spring Data 會將新實體的檢測委託給該實體的 isNew(…) 方法。有關詳細資訊,請參閱 Javadoc。
注意:如果您使用 AccessType.PROPERTY,Persistable 的屬性將被檢測並持久化。為避免這種情況,請使用 @Transient。 |
© .
This site is unofficial and not affiliated with VMware.