1 package org.hibernate.test.annotations.indexcoll; 3 4 import java.util.Map ; 5 import java.util.HashMap ; 6 import javax.persistence.Id; 7 import javax.persistence.GeneratorType; 8 import javax.persistence.MapKey; 9 import javax.persistence.OneToMany; 10 import javax.persistence.CascadeType; 11 import javax.persistence.Entity; 12 13 16 @Entity 17 public class AddressBook { 18 private Integer id; 19 private String owner; 20 private Map <AddressEntryPk,AddressEntry> entries = new HashMap <AddressEntryPk,AddressEntry>(); 21 private Map <AddressEntryPk,AddressEntry> lastNameEntries = new HashMap <AddressEntryPk,AddressEntry>(); 22 23 @Id(generate=GeneratorType.AUTO) 24 public Integer getId() { 25 return id; 26 } 27 28 public void setId(Integer id) { 29 this.id = id; 30 } 31 32 public String getOwner() { 33 return owner; 34 } 35 36 public void setOwner(String owner) { 37 this.owner = owner; 38 } 39 40 @MapKey 41 @OneToMany(mappedBy="book", cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REMOVE } ) 42 public Map <AddressEntryPk, AddressEntry> getEntries() { 43 return entries; 44 } 45 46 public void setEntries(Map <AddressEntryPk, AddressEntry> entries) { 47 this.entries = entries; 48 } 49 50 @MapKey(name="person.lastname") 51 @OneToMany(mappedBy="book") 52 public Map <AddressEntryPk, AddressEntry> getLastNameEntries() { 53 return lastNameEntries; 54 } 55 56 public void setLastNameEntries(Map <AddressEntryPk, AddressEntry> lastNameEntries) { 57 this.lastNameEntries = lastNameEntries; 58 } 59 60 } 61 | Popular Tags |