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