Отношения JPA - PullRequest
       6

Отношения JPA

0 голосов
/ 21 мая 2010

Я создал две таблицы как личность и адрес, используя JPA. Я хочу дать отношения один ко многим между этими таблицами. Если я дам следующее

 @OneToMany(mappedBy="address",targetEntity=person.class,fetch=FetchType.EAGER)

в таблице адресов означает, что она работает неправильно. Кто-нибудь может мне помочь?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 26 июля 2016

это пример

 @ElementCollection
@CollectionTable(name = "NUMBER")
private List<String> number;
0 голосов
/ 21 мая 2010

Не зная ничего о вашей архитектуре, я угадаю, что вам нужно.

JPA достаточно умен, чтобы знать, как объединить ваши таблицы, поэтому, если у вас есть идентификаторы в обеих таблицах, вам на самом деле не нужно иметь «mappedBy» и «targetEntity».

Вам просто нужно аннотировать свой класс следующим образом: (при условии, что ваши отношения - это один адрес, есть много людей).

В пределах класса Address:

@OneToMany
@JoinColumn(name="address_id")
public List<Person> getPeople()
{
    return people;
}

Это поместит address_id как поле в вашей личной таблице, представляющее связанный с ним адрес. Поскольку вы объявляете свой список типа Person, JPA будет знать, что сопоставить с таблицей person (при условии, что класс Person правильно помечен @Entity).

...