2016-10-26 33 views
0
已在表格文件的兩個字段定義主鍵

假設參數是正確的並且有正確的值 - 這是收到的異常「從行讀取的主鍵[Arr ayRecord( File.Id => 10228 File.FileName => 000350.pdf)]在執行查詢期間被檢測爲空。主鍵不能包含null。「

您可以看到文件實體的主鍵字段不爲空(File.Id => 10228)。在數據庫中,表中沒有任何主鍵字段空(顯然)。

我只是試圖設置參數「eclipselink.jpa.uppercase - 列名」在配置文件中MA =真它仍然無法正常工作。

我使用的Apache Tomcat 8,Java 8和SqlServer 14. Eclipselink版本是2.4.0和JPA版本是2.0.4。

謝謝。

+0

爲什麼它在結果集中顯示爲「File.Id」而不是「Id」?他們不匹配,可能是爲什麼找不到「Id」字段 – Chris

回答

0

問題出在數字select中,因爲實體文件有兩個字段的主鍵,EclipseLink(JPA)至少希望在選擇結果中使用主鍵的兩個字段。

我寫的select只回答表中關鍵字的兩個字段之一,因此JPA無法構建對象File。

對於信息,引發了異常的這段代碼:

(List<File>) nativeQuery.getResultList(); 

中投對象文件JPA說我,主鍵是空東陽他只拿到了THW兩場之一。