我正在使用JPA批註,並且當我有關係OneToMany - ManyToOne,當我在ManyToOne中看到我的實體時,joinColumn始終爲null值。如何手動實現JPA關係OneToMany
接下來,我會告訴我的例子,我有產品:
@Entity
@Table(name = "PC_PRODUCT")
public class Product extends LaunchEntity {
private static final long serialVersionUID = 1L;
@XmlElement(name = "Product_Name", required = true)
protected String productName;
@XmlElement(name = "Product_Description")
protected String productDescription;
@XmlElement(name = "Product_To_Charge")
@OneToMany(mappedBy = "product", cascade=CascadeType.MERGE)
protected List<ChargeRelation> productToCharge;
而且,這是我的ChargeRelation類:
@Entity
@Table(name="PC_CHARGE_RELATION")
public class ChargeRelation
extends RelationEntity
{
private static final long serialVersionUID = 1L;
@XmlElement(name = "Charge", required = true)
@OneToOne(cascade = CascadeType.MERGE)
protected Charge charge;
@XmlTransient
@ManyToOne(cascade=CascadeType.MERGE)
@JoinColumn(name="PRODUCT_ID")
protected Product product;
我讀一個XML文件,將數據轉換爲字符串,爲我的根對象取消組裝,並堅持這個對象。
問題是,當我發現在我的字符串的充電關係,值被插在充電關係表但柱與PRODUCT_ID總是空。
我已經定義了所有的setter和getters。我如何強制這個手動插入?謝謝
我嘗試,但沒有奏效。我做了一個遞歸的方法來建立所有的關係。現在它工作:) – 2012-04-13 07:46:22