@Entity(name = "Person") public static class Person { @Id private Long id; @OneToMany(mappedBy = "person", cascade = CascadeType.ALL, orphanRemoval = true) @MapKey(name = "type") @MapKeyEnumerated private Map<PhoneType, Phone> phoneRegister = new HashMap<>(); //Getters and setters are omitted for brevity //end::collections-map-bidirectional-example[] public Person() { } public Person(Long id) { this.id = id; } public Map<PhoneType, Phone> getPhoneRegister() { return phoneRegister; } //tag::collections-map-bidirectional-example[] public void addPhone(Phone phone) { phone.setPerson( this ); phoneRegister.put( phone.getType(), phone ); } }
private java.lang.String id; @MapKeyEnumerated( EnumType.STRING ) @MapKeyColumn(name = "social_network") @OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
/** * @author Janario Oliveira */ @Entity @TypeDef(typeClass = LastNumberType.class, defaultForType = LastNumber.class) public class EntityMapEnum { @Id @GeneratedValue int id; @ElementCollection Map<Common, String> ordinalMap = new HashMap<Common, String>(); @ElementCollection @MapKeyEnumerated(EnumType.STRING) Map<Common, String> stringMap = new HashMap<Common, String>(); @ElementCollection @MapKeyType(@Type(type = "org.hibernate.test.annotations.enumerated.custom_types.FirstLetterType")) Map<FirstLetter, String> firstLetterMap = new HashMap<FirstLetter, String>(); @ElementCollection Map<LastNumber, String> lastNumberMap = new HashMap<LastNumber, String>(); @MapKeyEnumerated(EnumType.STRING) @ElementCollection @CollectionTable(name = "overridingMap") @MapKeyColumn(name = "overridingMap_key") Map<LastNumber, String> explicitOverridingImplicitMap = new HashMap<LastNumber, String>(); }
@MapKeyEnumerated(EnumType.STRING) @MapKeyColumn(nullable=false) public Map<Level, String> colorPerLevel = new HashMap<Level,String>();
@MapKeyEnumerated(EnumType.STRING) private Map<AddressType, String> addresses = new HashMap<>();
/** * Used to store various user's settings, in form of key - value for flexibility. */ @ElementCollection @MapKeyEnumerated(EnumType.STRING) @CollectionTable(name = "SDC_SEDNO_USER_VARPREFS", joinColumns = @JoinColumn(name = "fk_sedno_user_settings")) public Map<SettingName, String> getVariousSettings() { if (variousSettings == null) { variousSettings = new HashMap<SettingName, String>(); } return variousSettings; }
@MapKeyEnumerated(EnumType.STRING) @MapKeyColumn(name = "metadata_type") @JoinTable(name = "TransMemory_Metadata",
@MapKeyClass(HealthType.class) @MapKeyColumn(name = "health", unique = true) @MapKeyEnumerated(EnumType.STRING) @Fetch(FetchMode.SUBSELECT) private Map<HealthType, Integer> items;
@JoinTable(name="UM_PARTNERS") @MapKeyColumn(name="PARTNERTYPE") @MapKeyEnumerated(EnumType.STRING) private final Map<PartnerType, TradingPartner> partners;