1
@Embeddable
@MappedSuperclass
public class Address {
private String street;
private String city;
public String getStreet(){ return street;}
public String getCity(){ return city;}
public String setStreet(Sting street){ this.street= street;}
public String setCity(String city){ this.city=city;}
}
import org.hibernate.annotations.Entity;
@Entity
public class AddressHistory extends Address {
Long id;
@Id @XmlTransient
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return m_id;
}
public void setId(Long m_id) {
this.m_id = m_id;
}
}
這是我的場景,我想存儲一個人的地址。而且我還必須存儲一個人以前住過的所有地址。所以我正在做的是我在人表中嵌入當前地址,並希望將他/她的所有前面的地址存儲在歷史表中。爲了達成這個。我讓Address類可嵌入並嵌入到person表和HistoryAddress表中。但是就OOPS概念而言。 HistoryAddress是一個地址,所以將地址類組合成AddressHistory並不好。然後我決定從Address類擴展AddressHistory。但是當我做這個休眠給了我這個錯誤我們可以從@Embedded擴展@Entity類
Use of @OneToMany or @ManyToMany targeting an unmapped class AddressHistory.
但顯然我已經映射AddressHistory 我們能做到這一點?我們可以從嵌入式類擴展實體嗎?