假設您有兩個實體,一個爲Article
,另一個爲Fruits
。現在實體Article
的所有屬性都由實體Fruits
繼承。如何連接表並擁有其中每一個的所有屬性?
因此,可以說,我有列第表:
ART_ID
ART_NAME
ART_COST
和水果表列:
FRU_ID
FRU_FROZEN
現在,我想有可能在我的JPA的代碼,當檢索Fruit
對象我檢索所有應該是它們的數據,這些數據由我的Article
和Fruit
表中的信息組成 - ART_ID
,ART_NAME
,ART_COST
,FRU_ID
,FRU_FROZEN
。
這是可能的JPA?我應該使用@Inheritance
,@JoinColumn
還是什麼?如果需要可以提供代碼。
*編輯*
我的結論是,下面的代碼會適合我的需要:
@Entity
@Table(name = "Article")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Article {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "ART_ID")
private Long id;
@Basic(optional = false)
@Column(name = "ART_NAME")
private String name;
@Basic(optional = true)
@Column(name = "ART_COST")
private String cost;
// ...
}
@Entity
@Table(name="Fruits")
@AttributeOverrides({
@AttributeOverride(name="name", [email protected](name="ART_NAME")),
@AttributeOverride(name="cost", [email protected](name="ART_COST")),
})
public class Fruits extends Article {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "FRU_ID")
private Long fruitID;
@Column(name="FRU_FROZEN")
private String fruFrozen;
//...
}
謝謝!
你的內容在數據庫級別有什麼關係?關聯表?外鍵關係? – Perception 2012-04-28 15:48:43
外鍵關係。 :) – 2012-04-28 15:52:07