Nie bardzo rozumiem sens adnotacji @ElementCollection dla pól encji.
przykład 1:
@Entity public class Person {
@Id protected String ssn;
protected String name;
...
@ElementCollection
protected Set<String> nickNames = new HashSet();
...
}
przykład 2:
@Entity
public class Item {
@Id int id;
...
@ElementCollection
Map<String, String> images;
...
}
Na jaki typ danych jest rzutowane takie pole w tabeli bazy danych? (Varchar ?)
Jak zapisywane są wszystkie elementy tej kolekcji w bazie danych do pola rekordu odpowiadającego kolumnie na którą mapowane jest to pole encji? Wymieniane są po przecinku?
A w przypadku Mapy (Map<String, String> images; ) tworzone są pary (v, k) i też zapisywane do pola rekordu po przecinku?
Jaki może być realny przykład zastosowania takiego mapowania?