我正在使用 Eclipselink (JPA) + GlassFish v3.1.2 + NetBeans 7.1.2
我有一张带有复合主键的表:
table (Enterpirse)
----------------------
|PK,FK idCompany | nvarchar
|PK idEnterprisecode | nvarchar
| |
|____________________|
@Entity
public class IdMtoEnterprise {
@EmbeddedId
protected IdMtoEnterprisePK idMtoEnterprisePK
//getter and setter are omitted for clear
}
@Embeddable
public class IdMtoEnterprisePK {
@Column(name = "id_mto_company")
private String idMtoCompany;
@Column(name = "id_mto_enterprise_code")
private String idMtoEnterpriseCode;
}
现在..我如何用 JPQL 编写 SELECT MAX(with EmbeddedId) 子句???
这个失败...
Select MAX(e.IdMtoEnterprisePK.idMtoEnterpriseCode) From IdMtoEnterprise e
原因:java.lang.IllegalArgumentException:在 EntityManager 中创建查询时发生异常:异常描述:编译查询时出错 [Select MAX(e.IdMtoEnterprisePK.idMtoEnterpriseCode) From IdMtoEnterprise e],第 1 行,第 13 列:未知状态或类 [com.sdn.entidad.IdMtoEnterprise] 的关联字段 [IdMtoEnterprisePK]。