1 回答

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果查詢結(jié)果被捕獲到,List<GpsUserToDataSetTest>
對(duì)象test1()
將GpsUserToDataSetTest ORM
被填充并添加到列表中。因此,JSON
轉(zhuǎn)換后的字符串是ORM
.
另一方面,當(dāng)查詢結(jié)果被捕獲到其中時(shí),List<Object>
這些test2()
被填充為純粹的值數(shù)組,然后添加到列表中。因此,JSON
表示只有值數(shù)組。
在存儲(chǔ)庫(kù)中編寫一個(gè)新方法test3()
并將結(jié)果捕獲到其中List<Map<String, String>>
并觀察輸出。您會(huì)注意到字符串中的普通單個(gè)鍵值(沒(méi)有像 primaryKey 等字段)JSON
。
編輯
此外,由于返回行中的主鍵(@Id 或@EmbeddedId)字段相同,因此從 test1() 返回的所有行都是重復(fù)的。Hibernate 緩存是這里的原因。這不是 Hibernate 中的錯(cuò)誤,而是應(yīng)該修復(fù)數(shù)據(jù)庫(kù)或正確使用 @Id 注釋的數(shù)據(jù)。
添加回答
舉報(bào)