2017-11-18 115 views
2

我有一個使用Hibernate檢索後端對象的Java Web應用程序。我的Hibernate Criteria.list()不斷返回具有空ID的現有數據庫對象

對於一個特定的類,我始終以各種方式獲得正確的結果 - 除了ID爲空。

我知道我的設置基本上是正確的 - 我能夠查詢包含ID的所有對象的許多其他對象 - 這只是一個我不斷收到空ID的類。

這是我的代碼。我知道沒有什麼可以看到的 - 這是完全相同的代碼行,給我的結果很好,除了一個以外,我的所有課程。只是想知道,如果有人有任何想法,爲什麼一個班可以給你帶空ID的結果......?

Criteria searchCriteria = buildQBECriteria(exampleObj, orderings,     
          startIndex, maxQuantity, matchMode, 
          criteria, false, session); 
List ret = searchCriteria.list(); 

每當exampleObj只是一個特定的類 - 結果都很好,包括ID。

每當exampleObj是一個特定的類 - 它將以各種方式返回正確的結果,除了ID全爲空。

謝謝! 添

+0

@Id@GeneratedValue(strategy = GenerationType.IDENTITY)

註釋id字段通常當我有一個空號,這意味着我沒有與託管實體打交道 – brt

+0

謝謝。我想你很可能會做些什麼。我熟悉實體管理器的概念 - 但我也檢查了我可能想到的所有東西 - 包括確保它在所有以下文件中:applicationContext-hibernate-dao-snapshot.xml,applicationContext-hibernate- dao.xml,applicationContext-hibernate-snapshot.xml,applicationContext-hibernate.xml,applicationContext-hibernate.xml –

+0

我應該提到的其他東西 - 當我執行快照查詢時,我只獲取空ID。當我不做快照時身份證會正常工作。 –

回答

0

如果它僅僅是一個類,你記得如果不使用註解,也許<id name="id" column="id" type="java.lang.String" unsaved-value="null">

相關問題