Java 工作单元克隆中遇到Null或零主键
我在日食中面临着一个常见但令人恼火的问题。我正在尝试使用eclipseLink运行此查询: List organizationUnitEntityList=entityManager.createQueryselect o from OrganizationUnitEntity o,其中o.unitId=?1.setParameter1,userTypeDomain.getUnitId.getResultList; OrganizationUnitEntity OrganizationUnitEntity=organizationUnitEntityList.get0 //1作为参数传递 OrganizationUnitEntity是: 公共类OrganizationUnitEntity{Java 工作单元克隆中遇到Null或零主键,java,eclipselink,Java,Eclipselink,我在日食中面临着一个常见但令人恼火的问题。我正在尝试使用eclipseLink运行此查询: List organizationUnitEntityList=entityManager.createQueryselect o from OrganizationUnitEntity o,其中o.unitId=?1.setParameter1,userTypeDomain.getUnitId.getResultList; OrganizationUnitEntity OrganizationUnitE
@Id
private int unitId;
private String unit;
getters and setters...
}
但我得到的例外是:
工作单元克隆中遇到Null或零主键
现在,由于数据库中没有null或0主键,为什么会出现此主键???异常发生在哪里-您提到您正在执行查询,但它是否在执行查询之前尝试刷新?您可以尝试在查询之前调用flush,因为您的EM可能包含一个pk为0/null的实体,而它不应该包含该实体。如果它发生在查询之后,请检查查询的SQL将返回什么结果。尝试将EclipseLink logging设置为finest:如果仍然无法打印缓存中的内容,请使用以下内容:JPAHelper.getEntityManagerem.getActiveSession.getIdentityMapAccessor.printIdentityMaps 你查过其他桌子了吗?它可能是来自外键的空PK或零PK。。。也许吧?不…没有这种情况…我刚刚开始开发应用程序,每个表中只有一个条目,pk为1