Использование атрибута таблицы @MapKeyJoinColumn
Я работаю над JPA Compliancy Kit для моей стажировки, и частью этого является тестирование для правильной реализации угловых дел.
Я посмотрел на @MapKeyJoinColumn сегодня.
Встречайте его атрибут таблицы:
Таблица строк - (Необязательно) Имя таблицы, содержащей столбец внешнего ключа. Если соединение предназначено для ключа карты для коллекции элементов, столбец внешнего ключа находится в таблице коллекции для значения карты. Если соединение предназначено для ключа карты для отношения сущности ManyToMany или для отношения сущности OneToMany с использованием таблицы соединения, столбец внешнего ключа находится в таблице соединения. Если соединение предназначено для отношения сущности OneToMany с использованием стратегии сопоставления внешнего ключа, столбец внешнего ключа для ключа карты находится в таблице объекта, который является значением карты.
Со значением по умолчанию:
Если карта предназначена для коллекции элементов, имя таблицы коллекции для значения карты. Если карта предназначена для отношения сущностей OneToMany или ManyToMany с использованием таблицы соединений, то имя таблицы соединений для карты. Если карта предназначена для отношения сущности OneToMany с использованием стратегии сопоставления внешнего ключа, то имя первичной таблицы сущности, которая является значением карты.
(Я напечатал это от руки, вероятно, не следовало этого делать.)
Мой вопрос: почему этот атрибут существует? Есть ли какой-либо случай, в котором он будет отличаться от того, к чему он по умолчанию относится - это "для будущего использования"?
Исправление - есть ли случай, в котором он будет отличаться от того, к чему он по умолчанию относится, не будучи семантически неправильным?