第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復(fù)org.hibernate.LazyInitializationException

如何修復(fù)org.hibernate.LazyInitializationException

慕村225694 2019-07-29 16:57:39
如何修復(fù)org.hibernate.LazyInitializationException - 無法初始化代理 - 沒有Session我得到以下異常:Exception in thread "main" org.hibernate.LazyInitializationException: could not initialize proxy - no Session     at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:167)     at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)     at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)     at sei.persistence.wf.entities.Element_$$_jvstc68_47.getNote(Element_$$_jvstc68_47.java)     at JSON_to_XML.createBpmnRepresantation(JSON_to_XML.java:139)     at JSON_to_XML.main(JSON_to_XML.java:84)當(dāng)我嘗試從main調(diào)用以下行時:Model subProcessModel = getModelByModelGroup(1112);System.out.println(subProcessModel.getElement().getNote());我getModelByModelGroup(int modelgroupid)首先實現(xiàn)了這個方法,如下所示:public static Model getModelByModelGroup(int modelGroupId, boolean openTransaction) {     Session session = SessionFactoryHelper.getSessionFactory().getCurrentSession();          Transaction tx = null;     if (openTransaction) {         tx = session.getTransaction();     }     String responseMessage = "";     try {         if (openTransaction) {             tx.begin();         }         Query query = session.createQuery("from Model where modelGroup.id = :modelGroupId");         query.setParameter("modelGroupId", modelGroupId);         List<Model> modelList = (List<Model>)query.list();          Model model = null;         for (Model m : modelList) {             if (m.getModelType().getId() == 3) {                 model = m;                 break;             }         }         if (model == null) {             Object[] arrModels = modelList.toArray();             if (arrModels.length == 0) {                 throw new Exception("Non esiste ");             }             model = (Model)arrModels[0];         }但仍然得到同樣的錯誤。我一直在閱讀這個錯誤,并找到了一些可能的解決方案。其中一個是將lazyLoad設(shè)置為false但我不允許這樣做,這就是我被建議控制會話的原因
查看完整描述

3 回答

?
天涯盡頭無女友

TA貢獻(xiàn)1831條經(jīng)驗 獲得超9個贊

如果你使用Spring將類標(biāo)記為@Transactional,那么Spring將處理會話管理。

@Transactionalpublic class MyClass {
    ...}

通過使用@Transactional,可以自動處理許多重要方面,例如事務(wù)傳播。在這種情況下,如果調(diào)用另一個事務(wù)方法,則該方法可以選擇加入正在進(jìn)行的事務(wù),避免“無會話”異常。


查看完整回答
反對 回復(fù) 2019-07-29
?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗 獲得超9個贊

你可以嘗試設(shè)置

<property name="hibernate.enable_lazy_load_no_trans">true</property>

在hibernate.cfg.xml或persistence.xml中

這個屬性要記住的問題在這里得到了很好的解釋


查看完整回答
反對 回復(fù) 2019-07-29
  • 3 回答
  • 0 關(guān)注
  • 1536 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號