Interface Neo4jPersistentEntity<T>

Type Parameters:
T - type of the underlying class
All Superinterfaces:
Iterable<Neo4jPersistentProperty>, MutablePersistentEntity<T,Neo4jPersistentProperty>, NodeDescription<T>, PersistentEntity<T,Neo4jPersistentProperty>

@API(status=STABLE, since="6.0") public interface Neo4jPersistentEntity<T> extends MutablePersistentEntity<T,Neo4jPersistentProperty>, NodeDescription<T>
A PersistentEntity interface with additional methods for metadata related to Neo4j. Both Spring Data methods PersistentEntity.doWithProperties(PropertyHandler) and PersistentEntity.doWithAssociations(AssociationHandler) are aware which field of a class is meant to be mapped as a property of a node or a relationship or if it is a relationship (in Spring Data terms: if it is an association).

Note to the outside world, we treat the @TargetNode annotated field of a @RelationshipProperties annotated class as association. Internally, we treat it as a property

Since:
6.0
Author:
Michael J. Simons
  • Field Details

    • DEPRECATED_GENERATED_ID_TYPES

      static final Set<Class<?>> DEPRECATED_GENERATED_ID_TYPES
  • Method Details

    • getDynamicLabelsProperty

      Optional<Neo4jPersistentProperty> getDynamicLabelsProperty()
      Returns:
      An optional property pointing to a Collection<String> containing dynamic "runtime managed" labels.
    • isRelationshipPropertiesEntity

      boolean isRelationshipPropertiesEntity()
      Determines if the entity is annotated with RelationshipProperties
      Returns:
      true if this is a relationship properties class, otherwise false.
    • isUsingDeprecatedInternalId

      default boolean isUsingDeprecatedInternalId()
      Returns:
      True if the underlying domain classes uses id() to compute internally generated ids.