我想通過休眠來從數據庫檢索數據。但是當我刷新我的jsp頁面時,我收到了「org.hibernate.TransactionException:嵌套事務不受支持」異常。有時候我能夠得到結果,但有時我會超出例外。我只在代碼中使用beginTransaction()方法一次。但仍然得到例外。什麼可能是根本原因。獲取類org.hibernate.TransactionException:不支持嵌套事務
My code is :
StringBuilder sb = new StringBuilder();
sb.append("{").append(STATUS).append(OK).append(", ").append(RESULTS);
sb.append("[");
if(session == null){
return getErrorMsgJson("Failed to get DB Session");
}
try {
session.beginTransaction();
ListIterator iterator3 = session.createSQLQuery(sqlStr).list().listIterator();
int t=0;
while(iterator3.hasNext()){
Object obj;
Object obj3[]=null;
if((obj=iterator3.next()) instanceof BigInteger){
sb.append("\"");
sb.append(obj.toString());
sb.append("\"");
break;
}
else{
obj3 = (Object[])iterator3.previous();
for(int i=0;i<obj3.length;i++){
sb.append("\"");
sb.append(obj3[i].toString());
sb.append("\"");
if(t<obj3.length){
sb.append(",");
}
}
}
iterator3.next();
t++;
}
//session.getTransaction().commit();
sb.append("] }");
return sb.toString();
}
catch (Exception e) {
//Log.logErr(Logc.JS, Logc.JS_INTERNAL_ERR, "Exception while getting DB Connection");
//out.println("Exception while getting DB Connection");
//return getErrorMsgJson(e.getClass().getName()+" : "+e.getMessage());
//return getErrorMsgJson(e.getClass()+" "+e.getMessage());
//e.printStackTrace();
return getErrorMsgJson(e.getClass()+" : "+e.getMessage());
}
在此先感謝。
可能重複[如何避免嵌套事務不支持錯誤?(http://stackoverflow.com/questions/17542157/how-to-avoid-nested-transactions-not-supported-error) – 2014-10-29 09:44:34
請粘貼完整的代碼。 – 2014-10-29 09:45:07
粘貼整個代碼。 – 2014-10-29 12:37:10