Java实体错误-主键为空

Java实体错误-主键为空,java,jpa,entity,eclipselink,netbeans-platform,Java,Jpa,Entity,Eclipselink,Netbeans Platform,我有两个实体类:Shipvia和Route。我的Shipvia很好用。Route entity类是它的精确副本,但当然是为tablename和字段定制的。这两个类都使用以下方法读取: public class RetrieveResultList { private static final EntityManagerFactory FACTORY = Persistence.createEntityManagerFactory("EntityLibraryPU"); public

我有两个实体类:Shipvia和Route。我的Shipvia很好用。Route entity类是它的精确副本,但当然是为tablename和字段定制的。这两个类都使用以下方法读取:

public class RetrieveResultList {

private static final EntityManagerFactory FACTORY = Persistence.createEntityManagerFactory("EntityLibraryPU");

    public static <T> List<T> retrieveResultList(Class<T> type) {
        EntityManager entityManager = FACTORY.createEntityManager();
        String tablename = type.getName(); // figure out table name from **type**
        Query query = entityManager.createNamedQuery(tablename + ".findAll");
        List<T> resultList = query.getResultList();
        entityManager.close();
        return resultList;
    }
}
奇怪的是如果我运行上面的查询

SELECT ROUTEKEY, RUADD_DATE, RUADD_TERM, RUADD_TIME, RUADD_USER, RUCHG_DATE, RUCHG_NUMB, RUCHG_TERM, RUCHG_TIME, RUCHG_USER, ROUTE FROM ROUTE

它返回一个完美的结果。我不确定从哪里开始查找错误

我相信这个sql会解决这个问题

delete from ROUTE where ROUTEKEY is null

我相信这个sql会解决这个问题

delete from ROUTE where ROUTEKEY is null

您可以检查并发布
路由
表的
创建表
sql吗?您可以检查并发布
路由
表的
创建表
sql吗。D:谢谢你!我正在使用一个FoxPro数据库集,它已经投入生产20年了。我甚至没有想到PK中的某个地方会出现空值!!您的解决方案很简单,解决了问题!希望您在生产数据库中没有这样做;)好。D:谢谢你!我正在使用一个FoxPro数据库集,它已经投入生产20年了。我甚至没有想到PK中的某个地方会出现空值!!您的解决方案很简单,解决了问题!希望您在生产数据库中没有这样做;)