我正在使用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