我有一個通過休眠連接到數據庫的表單。通過此表格,用戶可以進入並填寫姓名,地址和電子郵件信息等字段。填完信息後,他們將提交表格。提交後,所有信息將顯示在同一頁面的數據表上。休眠迭代器檢索相同的數據
我正在使用會話與數據庫交互。但是,從數據庫填充的數據似乎並不正確。
public void somefunction() {
//The sessionfactory is being configured in another class
Session s = sessionFactory.openSession();
Transaction tx= null;
try {
tx= s.beginTransaction();
List userInformation = s.createQuery("FROM database1 WHERE PKEY ='"+somevalue+"'").list();
for(Iterator iterator = userInformation.iterator; iterator.hasNext();){
//database1 is an entity bean
database1 x = (database1) iterator.next();
System.out.print(x.getName());
}
tx.commit();
}
catch(Exception) {......}
finally {.....}
}
提交的第一個「用戶」與他們的信息的用戶之後,一切都在數據表中精細顯示出來。但是,當他們輸入第二個「用戶」時,即使數據不同,顯示在數據表上的行也是與第一個用戶相同的信息。我認爲代碼看起來是正確的,所以我不確定這有什麼問題。
迭代前檢查列表大小? –
上面的代碼看起來沒問題。你能分享你的原始代碼片段嗎?我懷疑它是一些對象引用問題。 –
@ user1817081我在查詢中沒有看到任何主鍵。更改對象的名稱(掩碼)以保持機密性,但發佈確切的片段(不要共享完整的代碼)。我懷疑你可能在某處使用同一個對象引用。 –