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