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?