@ElementCollection
позволяет упростить код, когда вы хотите реализовать отношение «один ко многим» с простым или встроенным типом. Например, в JPA 1.0, когда вы хотели иметь отношение «один ко многим» со списком String
s, вы должны были создать простой объект POJO (StringWrapper
), содержащий только первичный ключ и рассматриваемый String
:
@OneToMany
private Collection<StringWrapper> strings;
//...
public class StringWrapper {
@Id
private int id;
private String string;
}
С JPA 2.0 вы можете просто написать:
@ElementCollection
private Collection<String> strings;
Проще, не так ли? Обратите внимание, что вы по-прежнему можете управлять именами таблиц и столбцов, используя аннотацию @CollectionTable
.
Смотри также: