我正在使用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中创建查询时发生异常: 异常描述:编译查询时出错[选择MAX(e.IdMtoEnterprisePK.idMtoEnterpriseCode)来自IdMtoEnterprise e],第1行,第13列:类[com.sdn.entidad.IdMtoEnterprise]的未知状态或关联字段[IdMtoEnterprisePK]。
答案 0 :(得分:1)
您的字段名为idMtoEnterprisePK
(小写i),而不是IdMtoEnterprisePK
(大写字母I)。