@Target(value={METHOD,FIELD})
 @Retention(value=RUNTIME)
public @interface ElementCollection
    Example:
    @Entity public class Person {
       @Id protected String ssn;
       protected String name;
       ...
       @ElementCollection  
       protected Set<String> nickNames = new HashSet();
         ...
    } 
  | Modifier and Type | Optional Element and Description | 
|---|---|
FetchType | 
fetch
(Optional) Whether the collection should be lazily loaded or must be
  eagerly fetched. 
 | 
java.lang.Class | 
targetClass
(Optional) The basic or embeddable class that is the element
 type of the collection. 
 | 
public abstract java.lang.Class targetClass
public abstract FetchType fetch