Я работаю над комплектом соответствия JPA 2.0 для моей стажировки ... Часть этого комплекта занимается тестированием угловых случаев.
На странице 360 JSR-317 заявляет, что "аннотация AttributeOverride
может бытьприменяется к коллекции элементов, содержащей экземпляры встраиваемого класса, или к коллекции карт, ключ и / или значение которой являются встраиваемым классом."
Как тогда, в соответствии с JPA 2.0переопределить отображение карты основных типов?Я знаю, что могу использовать @MapKeyColumn для сопоставления ключа карты, и я уверен, что есть и какой-то способ сопоставить сторону значений @CollectionTable ...
Но как мне поступить?переопределяя их?
Рассмотрим @Embeddable с картой
@CollectionTable
@MapKeyColumn(name="differentname_KEY")
Map<Integer, String> testMap;
Как мне переопределить ключ и значение?Я использую @AttributeOverride или что-то еще?(Или это невозможно?!)
Я предполагаю, что такая карта будет отображена с помощью @CollectionTable, поэтому, пожалуйста, исправьте меня, если я ошибаюсь.Если JPA не дает ответа, мне было бы интересно узнать, как поставщики персистентности решили эту проблему.
РЕДАКТИРОВАТЬ: Viruzzo отметил, что базовые типы являются встраиваемыми типами.Я готов принять это, но что-то меня сдерживает: JSR-317 ссылается на встраиваемый класс (см. Верхнюю цитату).Тип и класс не совпадают ...