Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee 如何使用嵌入式id创建JPQL选择MAX?_Jakarta Ee_Jpa_Eclipselink_Jpql_Composite Key - Fatal编程技术网

Jakarta ee 如何使用嵌入式id创建JPQL选择MAX?

Jakarta ee 如何使用嵌入式id创建JPQL选择MAX?,jakarta-ee,jpa,eclipselink,jpql,composite-key,Jakarta Ee,Jpa,Eclipselink,Jpql,Composite Key,我使用的是Eclipselink(JPA)+GlassFish v3.1.2+NetBeans 7.1.2 我有一个具有复合主键的表: table (Enterpirse) ---------------------- |PK,FK idCompany | nvarchar |PK idEnterprisecode | nvarchar | | |____________________| @Entity public class IdMtoEnt

我使用的是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(带EmbeddedId)子句

这次失败

Select MAX(e.IdMtoEnterprisePK.idMtoEnterpriseCode) From IdMtoEnterprise e
原因:java.lang.IllegalArgumentException:在EntityManager中创建查询时发生异常:
异常描述:编译查询[Select MAX(e.IdMtoEnterprisePK.idMtoEnterpriseCode)From IdMtoEnterprise],第1行第13列[com.sdn.entidad.IdMtoEnterprise]类的未知状态或关联字段[IdMtoEnterprisePK]时出错。

您的字段名为
IdMtoEnterprisePK
(小写i),而不是
IdMtoEnterprisePK
(大写I)