我試圖去抓住與Hibernate和有問題試圖映射3個實體之間的關係3個實體之間的關係:映射在Hibernate中
比如我有以下類:
分銷商(id,name)例如:TNT,UPS,Fed Ex以及每個經銷商都有一個 ShippingMethod(id,name,description)例如:超級省電,隔夜國際,次日和每種運輸方式有一系列 ShippingOption id,名稱,默認值,活動,成本,可用性),並且這些都是特定分銷商特定的。
要在數據庫中這樣做,我需要一個分發服務器表,一個ShippingMethods表和一個ShippingOptions表,它與分銷商和ShippingMethods具有FK關係。
但是,在我的域模型中,我想要有兩個類--Distributed(),它將包含ShippingOption()類的列表。 ShippingOption()從兩個ShippingMethod()和ShippingOption()相結合的一類(我已經離開了下面簡潔干將等):
@Entity
@Table(name = "shipping_option")
public class ShippingOption {
@Column(name = "is_active", nullable = false)
private boolean isActive = false;
@Column(name = "is_default", nullable = false)
private boolean isDefault = false;
@Column(name = "cost", nullable = false)
private BigDecimal cost = BigDecimal.ZERO;
private ShippingMethod shippingMethod = new ShippingMethod();
public ShippingOption() {
}
public ShippingOption(boolean isDefault, BigDecimal cost, ShippingMethod shippingMethod) {
setDefault(isDefault);
cost(cost);
setShippingMethod(shippingMethod);
}
public void setDefault(boolean isDefault) {
this.isDefault = isDefault;
}
public void setShippingMethod(ShippingMethod shippingMethod) {
this.shippingMethod = shippingMethod;
}
}
是否有可能在Hibernate和如何建模呢?如果您需要更多信息,請告訴我。不知道這是相關的,但我也使用彈簧mvc 3。
乾杯
莫里斯
分銷商,ShippingMethod和ShippingOption之間的關係是什麼。 ManyToOne還是OneToOne? – kalyan
嗨Kaylan需要很長時間才能回覆。分銷商可以有許多運輸選項。每個送貨選項都有一種送貨方式。 – Morrislgn
然後下面的例子將工作,將@ManytoOne更改爲@OneToOne for shippingMethod – kalyan