2010-05-12 65 views
0

HI,無法初始化代理 - 沒有會話

我使用的Grails 1.2.1,我總是得到這個消息時,我跑我的應用程序,讓它不使用應用程序的人。

org.hibernate.LazyInitializationException:無法初始化代理 - 沒有會話

at H__project_ilinkdev_grails_app_views_layouts_main_gsp$_run_closure2.doCall(H__project_ilinkdev_grails_app_views_layouts_main_gsp:220) 

at H__project_ilinkdev_grails_app_views_layouts_main_gsp$_run_closure2.doCall(H__project_ilinkdev_grails_app_views_layouts_main_gsp) 

at H__project_ilinkdev_grails_app_views_layouts_main_gsp.run(H__project_ilinkdev_grails_app_views_layouts_main_gsp:259) 

at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382) 

at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180) 

at java.lang.Thread.run(Thread.java:619) 

在我看來,我有加載類菜單:

/** 

器菜單域 規則:一個菜單的一個控制器 * */ class Menu { String menuName =「」; String menuController =「」; String menuAction =「」; Integer menuOrder = 1; String menuClass =''; // html class Integer myid = 0;

boolean isUser = false; // is this user menu (user only menu) 
boolean isAdmin = false; // is this administrator menu 
boolean isHorizontal =false; // is this horizontal or vertical (if false) 
String menuType='all'; // pia, dam, da, br, all 
Menu parentMenu; 

static hasMany = [childMenu:Menu] ; 
static belongsTo = [parentMenu:Menu]; 

static constraints = { 
    menuName(blank:false, nullable:false); 
    menuOrder(blank:false, nullable:false); 
    menuController(blank:true,nullable:false); // blank/nullable if there is no controller 
    menuAction(blank:true,nullable:false); // blank/nullable if there is no controller 
    menuClass(blank:true,nullable:false); // css class ... blank : using default menu 
    parentMenu(blank:true, nullable:true); 
    childMenu(blank:true, nullable:true); 
} 

String toString(){ 
    "${menuName}"; 
} 

}

和佈局/ main.gsp 裏面我有這樣的代碼:

   <% 
      def currMenu = Menu.findByMenuController(params.controller); 
      %> 
      <g:if test="${currMenu}"> 
      <g:if test="${currMenu.isHorizontal}"> 
      <g:each in="${Menu.findAllByParentMenu(currMenu,[sort:'menuOrder',order:'asc'])}" status='x' var='submenu'> 
      <li class='${submenu.menuClass} <% 
      if(submenu.menuController == params.controller){ 
       // dont hi-light on sign out 
       if(params.controller.equals("auth")){ 
       }else{ 
        out << "selected"; 
       } 
      } 
      %>'> 
        <g:if test="${!submenu.menuController.equals('')}"> 
         <g:link controller='${submenu?.menuController}' action='${submenu?.menuAction}'> 
          ${submenu?.menuName} 
         </g:link> 
        </g:if> 
        <g:else> 
          ${submenu?.menuName} 
        </g:else> 
       </li> 
      </g:each> 
      </g:if> 
      <g:else> 
      <% 
      // get who is the parent 
      def parentMenu = currMenu.parentMenu ; 
      %> 
      <g:each in="${Menu.findAllByParentMenu(parentMenu,[sort:'menuOrder',order:'asc'])}" status='x' var='submenu'> 
      <li class='${submenu.menuClass} <% 
      if(submenu.menuController == params.controller){ 
       // dont hi-light on sign out 
       if(params.controller.equals("auth")){ 
       }else{ 
        out << "selected"; 
       } 
      } 
      %>'> 
       <g:if test="${!submenu.menuController.equals('')}"> 
        <g:link controller='${submenu?.menuController}' action='${submenu?.menuAction}'> 
         ${submenu?.menuName} 
        </g:link> 
       </g:if> 
       <g:else> 
         ${submenu?.menuName} 
       </g:else> 
      </li> 
      </g:each> 
      </g:else> 
      </g:if> 
     </ul> 
     </g:if> 

如何修復這個bug?我可以重新啓動grails,它可以像平常一樣工作..但我只是好奇如何解決這個問題

+1

你嘗試過搜索stackoverflow嗎?或者您是否看到提供的建議? http://stackoverflow.com/questions/345705/hibernate-lazyinitializationexception-could-not-initialize-proxy,http://stackoverflow.com/questions/1206460/hibernate-spring3-could-not-initialize-proxy-no-會議 – Bozho 2010-05-12 09:43:51

回答

相關問題