我有一個交易休眠:HQL不加載數據,但標準不
(0)Transaction begins
(1)Insert A into myTable
(2)Load all data from myTable using HQL #-> A is not loaded
(3)Load all data from myTable using Criteria #-> A is loaded
(4)Transaction ends
下面的說明但是,如果我換(2)
和(3)
,這兩種情況都很好,A
被加載。
什麼會導致此問題?
詳情: 以下是代碼我有什麼
@Transcational
myFunction(){
//I have A inserted into myTable and the rest...
SQLQuery crit = (SQLQuery) getSession().createSQLQuery("select * from myTable ");
ArrayList<PatternHeader> ls = (ArrayList<PatternHeader>)crit.list(); //There is no trace of A
Criteria cr = getSession().createCriteria(MyTable.class);
ArrayList<PatternHeader> crls = (ArrayList<PatternHeader>)cr.list(); // A is loaded as well
}
其實你正在做一個SQL查詢而不是HQL查詢。 – Atropo
是的,我知道。事實上,查詢有點不同,但爲簡單起見,我將其更改爲此。 –