JPA JAVA EE
@Entitypublic class Customer { @Id @GeneratedValue private int id; private String name; @ElementCollection private List<String> phoneNumbers; .............}
@Entitypublic class Customer { @Id @GeneratedValue private int id; private String name; @ElementCollection private List<PhoneNumber> phoneNumbers; .............}
@Entitypublic class Customer { @Id @GeneratedValue private int id; private String name; @ElementCollection @CollectionTable(name = "PHONES", joinColumns = @JoinColumn(name = "CUST_ID")) @Column(name = "PH_NO") private List<String> phoneNumbers; public String getName() { return name; } public void setName(String name) { this.name = name; } public List<String> getPhoneNumbers() { return phoneNumbers; } public void setPhoneNumbers(List<String> phoneNumbers) { this.phoneNumbers = phoneNumbers; } @Override public String toString() { return "Customer{" + "id=" + id + ", name='" + name + '\'' + ", phoneNumbers=" + phoneNumbers + '}'; }}
Mapping java.util.Map with basic keys and values.
@Entitypublic class Customer { @Id @GeneratedValue private int id; private String name; @ElementCollection private Map<String, Integer> itemQtyMap; .............}
@Entitypublic class Customer { @Id @GeneratedValue private int id; private String name; @ElementCollection @MapKeyColumn(name = "item") @Column(name = "qty") @CollectionTable(name = "ITEM_QTY") private Map<String, Integer> itemQtyMap; .............}
@Entitypublic class Customer { @Id @GeneratedValue private int id; private String name; @ElementCollection @CollectionTable(name = "ORDERS") @MapKeyColumn(name = "TYPE") private Map<String, Order> orderMap; .............}
@Embeddablepublic class Order { private String item; private int qty; private Date date; .............}
@Entitypublic class Customer { @Id @GeneratedValue private int id; private String name; @ElementCollection private Map<Order, String> orders; .............}
@Entitypublic class Customer { @Id @GeneratedValue private int id; private String name; @ElementCollection @CollectionTable(name = "ORDERS", joinColumns = @JoinColumn(name = "CUST_ID")) @Column(name = "ORDER_TYPE") private Map<Order, String> orders; .............}
@Entitypublic class Employee { @Id @GeneratedValue private long id; private String name; @ElementCollection private Map<Task, Date> taskMap; .............}
@Entitypublic class Task { @Id @GeneratedValue private long id; private String name; private String description; .............}
@Entitypublic class Employee { @Id @GeneratedValue private long id; private String name; @ElementCollection @CollectionTable(name = "EMP_TASKS", joinColumns = @JoinColumn(name = "EMP_ID")) @MapKeyJoinColumn(name = "TASK_ID") @Column(name = "TASK_DATE") private Map<Task, Date> taskMap; .............}
@Entitypublic class Employee { @Id @GeneratedValue private long id; private String name; @ElementCollection @OneToMany private Map<AssignInfo, Task> taskMap; .............}
@Entitypublic class AssignInfo { @Id @GeneratedValue private long id; private Date startDate; private Date endDate; .............}