28 Mayıs 2018 Pazartesi

JPA @ElementCollection Anotasyonu

Giriş
list,set, map gibi dizileri farklı bir tabloda saklamayı sağlar. JPA 2 ile geliyor.

Şöyle yaparız.
@ElementCollection
private Collection<String> strings;
fetch Alanı
Şöyle yaparız.
@ElementCollection(fetch = FetchType.EAGER)
private Map<String, Object> params;

Diğer
Örnek
Primary key dönmek için şöyle yaparız.
@ElementCollection
@CollectionTable(name="user_page", joinColumns=@JoinColumn(name="id_user"))
@Column(name="id_page")
public Set<Long> pageIds;
Örnek
List ile kullanmak için şöyle yaparız.
@ElementCollection(fetch = FetchType.LAZY)
@CollectionTable(name = "variant_option_vals",
        joinColumns = @JoinColumn(name = "variantOption_id")
@OrderColumn(name="sequence")
)
private List<String> optionValues;
Örnek
Sanırım 3 katlı içiçe listelerde kullanılamıyor.
@ElementCollection
@CollectionTable(joinColumns = @JoinColumn(name = "id"))
@OrderBy("id")
private List<List<List<Double>>> coordinates

Hiç yorum yok:

Yorum Gönder