Трудности Картография с Hibernate, используя аннотации JPA - PullRequest
4 голосов
/ 21 июля 2011

Возможно, есть что-то фундаментальное, чего я не понимаю в семантике элемента JPA @MapKey. Я пытаюсь сохранить карту с ключами и значениями сущностей. Схема авто генерируется в спящем режиме. Он генерирует таблицу соединений, которая отображает значения объектов содержащий сущность (которая имеет свойство Map) и игнорирует ключи. настолько эффективно, что он просто рассматривает его как набор значений и игнорирует ключи, насколько я могу судить. что мне здесь не хватает? Спасибо

@Entity
public class PracticeMap {
    @javax.persistence.OneToMany(cascade = CascadeType.ALL)
    @javax.persistence.MapKey 
    public Map<KeySample, ValueSample> getMap1() {
        return map1;
    }

    //more unrelated/standard bits here 


}

1 Ответ

2 голосов
/ 21 июля 2011

Посмотрите на javadoc @MapKey - он используется, когда вам нужно обрабатывать определенные поля сущности значения как ключи.

Если ваш ключ и значение должны быть разными, вам нужно использовать @MapKeyJoinColumn (введено в JPA 2.0).

...