【发布时间】:2012-04-22 12:47:16
【问题描述】:
我正在使用 JPA 注释,当我有关系 OneToMany - ManyToOne 时,当我在 ManyToOne 中看到我的实体时,joinColumn 始终为空值。
接下来我将展示我的示例,我有产品:
@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 和 getter。我怎样才能强制它进行手动插入?谢谢
【问题讨论】:
标签: database jpa jpa-2.0 entity-relationship