2012-04-06 24 views
1

我在eclipseLink中遇到了一個常見但令人煩惱的問題。我試圖使用eclipseLink運行此查詢:在工作單元中遇到空或零主鍵克隆

List organizationUnitEntityList = entityManager.createQuery(「select o from OrganizationUnitEntity o where o.unitId =?1」)。setParameter(1,userTypeDomain.getUnitId())。getResultList (); OrganizationUnitEntity organizationUnitEntity = organizationUnitEntityList.get(0);

// 1作爲參數傳遞

OrganizationUnitEntity是:

公共類OrganizationUnitEntity {

@Id 
private int unitId; 
private String unit; 

    getters and setters... 

}

但是我收到的例外是: 空或工作單元中遇到的零主鍵克隆

現在,因爲數據庫中沒有null或0主鍵,爲什麼這個是來??

+0

你檢查了其他表嗎?它可能是一個空或零PK從外鍵...也許? – 2012-04-06 15:58:50

+0

不......沒有這種情況...我剛開始開發應用程序,每個表中只有一個條目,其中pk爲1 – user746458 2012-04-06 17:21:56

回答

0

異常發生在哪裏 - 你提到你正在執行一個查詢,但它是否在執行查詢之前嘗試刷新?您可以在查詢之前嘗試調用flush,因爲它可能是您的EM包含一個0/null pk的實體,但不應該。如果在查詢後發生,請檢查查詢中的SQL返回的結果。嘗試將EclipseLink日誌記錄設置爲最佳狀態:並且如果仍然無法使用類似下面的內容打印緩存中的內容:JPAHelper.getEntityManager(em).getActiveSession()。getIdentityMapAccessor()。printIdentityMaps();