【发布时间】:2019-01-17 03:48:05
【问题描述】:
我有一个具有复合 PK 的实体类,如下所示:
使用@Embeddable 和@EmbeddedId 注释。
/** The primary key class for the uom_conversion database table. */
@Embeddable
public class UomConversionPK implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="product_id", insertable=false, updatable=false)
private int productId;
@Column(name="base_uom_id", insertable=false, updatable=false)
private int baseUomId;
@Column(name="to_unit_id", insertable=false, updatable=false)
private int toUnitId;
//getters, setters
}
而使用它的实体是:
/** The persistent class for the uom_conversion database table. */
@Entity
@Table(name="uom_conversion")
public class UomConversion implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private UomConversionPK id;
}
这里 Eclipse 显示错误:“UomConversionPK 无法解析为类型”
在另一个项目中,我正在使用具有复合 PK 的实体,没有任何错误。
现在这似乎是 JPA 方面的问题,想知道为什么 Eclipse 无法解析 UomConversionPK 还是我做错了什么?
【问题讨论】:
-
您是否在
UonConversion类中导入com.itsys.erp.server.dal.entities.UomConversionPK? -
UomConversion 和 UomConversionPK 类都在同一个包中。这个错误也发生在其他实体类中 - 具有复合 PK。
-
你确定它们在同一个包中吗? Eclipse 可以看到您的
UomConversionPK类,但在没有显式导入的情况下从UomConversion中看不到它,这表明它实际上位于不同的包中。
标签: java eclipse hibernate jpa composite-primary-key