Record Class MappedManyToMany

java.lang.Object
java.lang.Record
org.litebridge.orm.persistence.MappedManyToMany
Record Components:
joinTable - The intermediary table that connects two entities in a many-to-many relationship.
joinColumn - The column in the join table that links it to the source entity.
collection - The field in the source entity that holds the collection representing the relationship.
targetTable - : The table representing the target entity in the relationship, resolved lazily.
inverseJoinColumn - The column in the join table that links it to the target entity.
All Implemented Interfaces:
MappedFieldTarget

public record MappedManyToMany(OrmTable joinTable, String joinColumn, FieldAccessor collection, ConcurrentLazy<OrmTable> targetTable, String inverseJoinColumn) extends Record implements MappedFieldTarget
A many-to-many relationship mapping in an object-relational mapping (ORM) context.

This record encapsulates metadata related to a join table used to establish the relationship between two entities in a database.

The record provides information regarding the join table, its join columns, and the collection field that represents the relationship in the application layer. It also includes mechanisms to lazily resolve the target table associated with the many-to-many relationship.

  • Constructor Details

  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • joinTable

      public OrmTable joinTable()
      Returns the value of the joinTable record component.
      Returns:
      the value of the joinTable record component
    • joinColumn

      public String joinColumn()
      Returns the value of the joinColumn record component.
      Returns:
      the value of the joinColumn record component
    • collection

      public FieldAccessor collection()
      Returns the value of the collection record component.
      Returns:
      the value of the collection record component
    • targetTable

      public ConcurrentLazy<OrmTable> targetTable()
      Returns the value of the targetTable record component.
      Returns:
      the value of the targetTable record component
    • inverseJoinColumn

      public String inverseJoinColumn()
      Returns the value of the inverseJoinColumn record component.
      Returns:
      the value of the inverseJoinColumn record component