Interface Association

All Superinterfaces:
io.micronaut.core.annotation.AnnotationMetadataProvider, io.micronaut.core.annotation.AnnotationSource, io.micronaut.core.naming.Named, PersistentElement, PersistentProperty
All Known Subinterfaces:
Embedded
All Known Implementing Classes:
RuntimeAssociation, SourceAssociation

public interface Association extends PersistentProperty
A property that represents an association.
Since:
1.0
Author:
graemerocher
  • Method Details

    • getAliasName

      default String getAliasName()
      Returns:
      The alias name representation.
    • hasDeclaredAliasName

      default boolean hasDeclaredAliasName()
      Returns:
      whether this Association has a declared alias name
      Since:
      3.8
    • getAssociatedEntity

      @NonNull @NonNull PersistentEntity getAssociatedEntity()
      The associated entity if any.
      Returns:
      The associated entity
    • getInverseSide

      default Optional<? extends Association> getInverseSide()
      Retrieves the inverse side of the association. If there is one.
      Returns:
      The association.
    • getInversePathSide

      default Optional<PersistentAssociationPath> getInversePathSide()
      Retrieves the inverse side path of the association. If there is one.
      Returns:
      The association.
    • isBidirectional

      default boolean isBidirectional()
      Whether the relationship is bidirectional.
      Returns:
      True if it is bidirectional.
    • getKind

      @NonNull default Relation.Kind getKind()
      Returns:
      The relationship kind
    • isForeignKey

      default boolean isForeignKey()
      Returns:
      Whether the association is a foreign key association
    • doesCascade

      default boolean doesCascade(Relation.Cascade... types)
      Whether this association cascades the given types.
      Parameters:
      types - The types
      Returns:
      True if it does, false otherwise.
    • getCascadeTypes

      default EnumSet<Relation.Cascade> getCascadeTypes()