@Entity public class Contact { @Id private Integer id; @Embedded private Name name; @Embedded @AttributeOverrides( @AttributeOverride( name="line1", column = @Column(name = "home_address_line1"), ), @AttributeOverride( name="line2", column = @Column(name = "home_address_line2") ), @AttributeOverride( name="zipCode.postalCode", column = @Column(name = "home_address_postal_cd") ), @AttributeOverride( name="zipCode.plus4", column = @Column(name = "home_address_postal_plus4") ) ) private Address homeAddress; @Embedded @AttributeOverrides( @AttributeOverride( name="line1", column = @Column(name = "mailing_address_line1"), ), @AttributeOverride( name="line2", column = @Column(name = "mailing_address_line2") ), @AttributeOverride( name="zipCode.postalCode", column = @Column(name = "mailing_address_postal_cd") ), @AttributeOverride( name="zipCode.plus4", column = @Column(name = "mailing_address_postal_plus4") ) ) private Address mailingAddress; @Embedded @AttributeOverrides( @AttributeOverride( name="line1", column = @Column(name = "work_address_line1"), ), @AttributeOverride( name="line2", column = @Column(name = "work_address_line2") ), @AttributeOverride( name="zipCode.postalCode", column = @Column(name = "work_address_postal_cd") ), @AttributeOverride( name="zipCode.plus4", column = @Column(name = "work_address_postal_plus4") ) ) private Address workAddress; ... }