五.对象关系映射-part4
?
一、嵌入对象
在“复合主键”章节中,我们看到了怎样用嵌入对象和@EmbeddedId注解。
嵌入对象自己没有持久化ID,共享被嵌入实体类的ID。如果该实体类被删除,嵌入对象也被删除。
请看下例:
?
?
@Embeddable@Access(AccessType.PROPERTY)public class Address {private String street1;private String street2;private String city;private String state;private String zipcode;private String country;// Constructors@Column(nullable = false)public String getStreet1() {return street1;}public void setStreet1(String street1) {this.street1 = street1;}public String getStreet2() {return street2;}public void setStreet2(String street2) {this.street2 = street2;}@Column(nullable = false, length = 50)public String getCity() {return city;}public void setCity(String city) {this.city = city;}@Column(length = 3)public String getState() {return state;}public void setState(String state) {this.state = state;}@Column(name = "zip_code", length = 10)public String getZipcode() {return zipcode;}public void setZipcode(String zipcode) {this.zipcode = zipcode;}public String getCountry() {return country;}public void setCountry(String country) {this.country = country;}}
?
?
显示的设置嵌入对象的访问类型是极力推荐的,这样会避免嵌入对象被嵌入到多个实体类中产生映射问题。
?