Class AssociationKey


  • public class AssociationKey
    extends Object
    Used to uniquely identify a foreign key, so that we don't join it more than once creating circularities. Note that the table+columns refers to the association owner. These are used to help detect bi-directional associations since the Hibernate runtime metamodel (persisters) do not inherently know this information. For example, consider the Order -> Customer and Customer -> Order(s) bi-directional association; both would be mapped to the ORDER_TABLE.CUST_ID column. That is the purpose of this struct.

    Bit of a misnomer to call this an association attribute. But this follows the legacy use of AssociationKey from old JoinWalkers to denote circular join detection

    • Constructor Detail

      • AssociationKey

        public AssociationKey​(String table,
                              String[] columns)
        Create the AssociationKey.
        Parameters:
        table - The table part of the association key
        columns - The columns that define the association key