0

我正在使用 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]。

4

1 回答 1

1

您的字段被命名idMtoEnterprisePK(小写 i),而不是IdMtoEnterprisePK(大写 I)。

于 2012-05-26T16:48:56.637 回答