Record Class ManyToMany

java.lang.Object
java.lang.Record
org.litebridgedb.orm.api.spec.ManyToMany
Record Components:
joinTable - The name of the join table facilitating the many-to-many relationship.
joinColumn - The column in the join table that references the primary key of the originating table.
inverseJoinColumn - The column in the join table that references the primary key of the targeted table.
All Implemented Interfaces:
ColumnMapping

public record ManyToMany(String joinTable, String joinColumn, String inverseJoinColumn) extends Record implements ColumnMapping
Represents a many-to-many relationship mapping between two tables using a join table.

This class is used within the context of the ORM to define a mapping where entities in one table are associated with multiple entities in another table, and the relationship is facilitated through an intermediate join table.

The `ManyToMany` relationship is commonly used to model use cases such as: - Students enrolled in multiple courses, and courses attended by multiple students. - Products associated with multiple categories, and categories assigned to multiple products.

Implements the ColumnMapping interface, allowing its usage in column-level mappings.

  • Constructor Details

    • ManyToMany

      public ManyToMany(String joinTable, String joinColumn, String inverseJoinColumn)
      Creates an instance of a ManyToMany record class.
      Parameters:
      joinTable - the value for the joinTable record component
      joinColumn - the value for the joinColumn record component
      inverseJoinColumn - the value for the inverseJoinColumn record component
  • 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 String 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
    • inverseJoinColumn

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