//$Id$ package org.hibernate.test.annotations.onetoone; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.SecondaryTable; /** * @author Emmanuel Bernard */ @Entity @SecondaryTable(name="CLIENT_EXTENSION") public class Client { private Integer id; private String name; private Address address; private Address secondaryAddress; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "ADDRESS_ID") public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "SECONDARY_ADDRESS_ID", table="CLIENT_EXTENSION") public Address getSecondaryAddress() { return secondaryAddress; } public void setSecondaryAddress(Address secondaryAddress) { this.secondaryAddress = secondaryAddress; } @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }