You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following table describes the strategies that Spring Data JDBC offers for detecting whether an entity is new:
436
-
437
-
.Options for detection whether an entity is new in Spring Data JDBC
438
-
[options = "autowidth"]
439
-
|===============
440
-
|Id-Property inspection (the default)|By default, Spring Data JDBC inspects the version property of the given entity.
441
-
If the identifier property is `null` or `0` in case of primitve types, then the entity is assumed to be new. Otherwise, it is assumed to not be new.
442
-
|Version-Property inspection|If a property annotated with `@Version` is present and `null`, or in case of a version property of primitive type `0` the entity is considered new.
443
-
If the version property is present but has a different value, the entity is considered not new.
444
-
If no version property is present Spring Data JDBC falls back to inspection of the Id-Property.
445
-
|Implementing `Persistable`|If an entity implements `Persistable`, Spring Data JDBC delegates the new detection to the `isNew(…)` method of the entity.
446
-
See the link:$$https://docs.spring.io/spring-data/data-commons/docs/current/api/index.html?org/springframework/data/domain/Persistable.html$$[Javadoc] for details.
447
-
|Implementing `EntityInformation`|You can customize the `EntityInformation` abstraction used in the `SimpleJdbcRepository` implementation by creating a subclass of `JdbcRepositoryFactory` and overriding the `getEntityInformation(…)` method.
448
-
You then have to register the custom implementation of `JdbcRepositoryFactory` as a Spring bean.
449
-
Note that this should rarely be necessary. See the link:{javadoc-base}org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.html[Javadoc] for details.
@@ -892,7 +876,7 @@ The following table describes the available events:
892
876
893
877
WARNING: Lifecycle events depend on an `ApplicationEventMulticaster`, which in case of the `SimpleApplicationEventMulticaster` can be configured with a `TaskExecutor`, and therefore gives no guarantees when an Event is processed.
0 commit comments