Skip to content

Commit 140c774

Browse files
schaudermp911de
authored andcommitted
Improve documentation of entity state detection.
The use of a version property to determine the state of an entity wasn't properly documented so far. Closes: #951.
1 parent 79923b6 commit 140c774

File tree

1 file changed

+3
-16
lines changed

1 file changed

+3
-16
lines changed

src/main/asciidoc/jdbc.adoc

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -430,21 +430,8 @@ Embedded entities containing a `Collection` or a `Map` will always be considered
430430
Such an entity will therefore never be `null` even when using @Embedded(onEmpty = USE_NULL).
431431

432432
[[jdbc.entity-persistence.state-detection-strategies]]
433-
=== Entity State Detection Strategies
434-
435-
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 identifier property of the given entity.
441-
If the identifier property is `null`, then the entity is assumed to be new. Otherwise, it is assumed to not be new.
442-
|Implementing `Persistable`|If an entity implements `Persistable`, Spring Data JDBC delegates the new detection to the `isNew(…)` method of the entity.
443-
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.
444-
|Implementing `EntityInformation`|You can customize the `EntityInformation` abstraction used in the `SimpleJdbcRepository` implementation by creating a subclass of `JdbcRepositoryFactory` and overriding the `getEntityInformation(…)` method.
445-
You then have to register the custom implementation of `JdbcRepositoryFactory` as a Spring bean.
446-
Note that this should rarely be necessary. See the link:{javadoc-base}org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.html[Javadoc] for details.
447-
|===============
433+
include::{spring-data-commons-docs}/entity-callbacks.adoc[leveloffset=+1]
434+
448435

449436
[[jdbc.entity-persistence.id-generation]]
450437
=== ID Generation
@@ -895,7 +882,7 @@ The following table describes the available events:
895882

896883
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.
897884

898-
include::{spring-data-commons-docs}/entity-callbacks.adoc[leveloffset=+1]
885+
include::{spring-data-commons-docs}/is-new-state-detection.adoc[leveloffset=+2]
899886

900887
[[jdbc.entity-callbacks]]
901888
=== Store-specific EntityCallbacks

0 commit comments

Comments
 (0)