這是我的要求。我有一堆有類似數據的行。我想更新最新條目中的一些列。所以我寫了一個Hibernate查詢這是這樣的Java Hibernate:更新MySql數據庫中的最新條目
String hql = "UPDATE Studenttable T set T.timestamp=:time,T.Action=:action where T.StudentId=:studentId and T.teacherId=:TeacherId order by T.teacher_student_mapping_id DESC";
Query query = session.createQuery(hql);
query.setParameter("time",time);
query.setParameter("studentId", studentId);
query.setParameter("TeacherId", teacherId);
query.setParameter("action", action);
query.setMaxResults(1);
query.executeUpdate();
這樣做是它更新所有滿足條件的行,然後返回最新的行。相反,我希望它獲取滿足條件的最新行,然後更新它。我該怎麼做?任何幫助深表謝意。
P.S. teacher_student_mapping_id是一個自動生成的值,它也是一個主鍵。
時間是當前時間。
請不要試圖理解表格,我已經更改了機密列的名稱。
這將返回「你不能返回目標表更新在from子句」......不過謝謝。我會繼續嘗試。 –