Ну, в случае с жидкой базой, мы должны вручную создать 3-ю таблицу и применить необходимые ограничения.
Создайте таблицу, которая управляет отображением :
<createTable tableName="PERSON_ADDRESS">
<column name="PERSON_ID" type="BIGINT">
<constraints primaryKey="true" nullable="false" />
</column>
<column name="ADDRESS_ID" type="BIGINT">
<constraints primaryKey="true" nullable="false" />
</column>
</createTable>
Примените ограничения:
1) Убедитесь, что Person
s id
уникален в таблице сопоставления
2) Отношение внешнего ключа между идентификатором ADDRESS
и PERSON_ADDRESS
* PERSON_ID
3) Иностранныйключевые отношения между идентификатором PERSON
и PERSON_ADDRESS
ADDRESS_ID
<addUniqueConstraint
columnNames="PERSON_ID" tableName="PERSON_ADDRESS"
constraintName="UK_PHONE_NUMBERS_ID" />
<addForeignKeyConstraint
constraintName="FK_ADDRESS_PERSON_ADDRESS"
referencedTableName="ADDRESS"
baseColumnNames="ADDRESS_ID"
baseTableName="PERSON_ADDRESS" referencedColumnNames="id" />
<addForeignKeyConstraint
constraintName="FK_PERSON_PERSON_ADDRESS"
referencedTableName="PERSON"
baseColumnNames="PERSON_ID"
baseTableName="PERSON_ADDRESS" referencedColumnNames="id" />