Ajuda com Ristriction

pessoal estou tendo um problema para trazer uma lista usando o Ristriction.

abaixo o meu codigo

MODELo Menu

package ew.com.br.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="menuew")
public class Menu implements Serializable{

	private static final long serialVersionUID = 1L;
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name="idMenu")
	private Integer idMenu;
	
	@ManyToOne 
	@JoinColumn(name = "idMenuPai")  
	private Menu idMenuPai;
	
	@ManyToOne
    @JoinColumn(name = "idGrupo")
	private Grupo grupo;
	
	@Column(name = "descricao")  
	private String descricao;
	
	@Column(name="url")
	private String url;
	
	/*@OneToMany(fetch = FetchType.LAZY, mappedBy = "idMenuPai")
	private List<Menu> menusub;*/
	
	

	public Menu getIdMenuPai() {
		return idMenuPai;
	}
	public Integer getIdMenu() {
		return idMenu;
	}
	public void setIdMenu(Integer idMenu) {
		this.idMenu = idMenu;
	}
	public void setIdMenuPai(Menu idMenuPai) {
		this.idMenuPai = idMenuPai;
	}
	public Grupo getGrupo() {
		return grupo;
	}
	public void setGrupo(Grupo grupo) {
		this.grupo = grupo;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	/*public List<Menu> getMenusub() {
		return menusub;
	}
	public void setMenusub(List<Menu> menusub) {
		this.menusub = menusub;
	}*/

	
}

MODELO MENUUSUARIOGRUPO tabela de junção

package ew.com.br.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="MenuUsuarioGrupo")
public class MenuUsuarioGrupo implements Serializable{

	private static final long serialVersionUID = 1L;
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name="ID")
	private int id;
	
	
	@ManyToOne
    @JoinColumn(name = "ID_MENU")
	private Menu menu;
	
	@ManyToOne
    @JoinColumn(name = "ID_GRUPO")
	private Grupo grupo;
	
	
	public Menu getMenu() {
		return menu;
	}
	public void setMenu(Menu menu) {
		this.menu = menu;
	}
	public Grupo getGrupo() {
		return grupo;
	}
	public void setGrupo(Grupo grupo) {
		this.grupo = grupo;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}	
}

CONTROLLER

	public void montaPicker(){

		menuEscolhido = menuBusiness.listaMenuEscolhido(menu);
		
		menuDisponivel = menuBusiness.listaMenuDisponivel(menuEscolhido);
		menuDualList = new DualListModel<Menu>(menuDisponivel,menuEscolhido);
	}

MENU DAO

@SuppressWarnings("unchecked")
	public List<Menu> listaMenuDiponivel(List<Menu> menus){
		 Session session = HibernateUtil.getSessionFactory().openSession();
	     Criterion in = Restrictions.in("menu.idMenu",menus);
		 
		 Criteria  criteria = session.createCriteria(Menu.class);
		 criteria.add(Restrictions.not(in));
	     List<Menu> lista = criteria.list();
	     return lista;
		
	}
	
	@SuppressWarnings("unchecked")
	public List<Menu> listaMenuEscolhidos(Menu o){
		
		Session session = HibernateUtil.getSessionFactory().openSession();
		org.hibernate.Query c = session.createQuery("Select mug from MenuUsuarioGrupo mug, Grupo g, Menu m WHERE m.idMenu = mug.menu.idMenu AND g.idGrupo = mug.grupo.idGrupo and mug.grupo.idGrupo = :idGrupo");
		c.setParameter("idGrupo", o.getGrupo().getIdGrupo()); 
		List<Menu> lista = c.list();
		return lista;
	}

GERENCIARMENU

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	template="/template/template_padrao.xhtml">

<h:head>

</h:head>

<ui:define name="conteudo">
			<h:form id="form">		
				<p:confirmDialog message="Deseja realmente excluir este registro?" 
								hideEffect="explode" header="Aviso" severity="alert" 
								widgetVar="confirmation" modal="true">
				    <!--caso seja sim chamo o metodo excluir, e fecho o modal com o oncomplete, tenho o process que estou dizendo para processar o form, e update para atualizar a tabela-->
				    <p:commandButton id="btnSim" value="Sim" oncomplete="confirmation.hide();" 
				    				 actionListener="#{usuarioController.deletar}" 
				    				 >
				    </p:commandButton>
				    <!--caso seja não somente fecha o modal-->
				    <p:commandButton id="btnNao" value="Não" onclick="confirmation.hide();" type="button"/>
				</p:confirmDialog>
				
				
			
				<p:dialog modal="false" widgetVar="sucess" header="Informação do Sistema"   
				        draggable="false" closable="false" resizable="false">  
				     <h:panelGrid columns="2" style="padding: 25px;margin-left:150px;" cellpadding="5">   
				     	<h:outputText value="Usuário adicionado com sucesso!!" />
				     	<p:commandButton id="infoSucess" value="OK" ajax="false" onclick="sucess.hide()" />
				     </h:panelGrid>   
				</p:dialog>
			<h:panelGrid width="650">
				<p:fieldset legend="Cadastro de Novas Menus" id="cadastroMenu">
					<h:panelGrid columns="1">

						<h:outputLabel value="Descricrição/Nome:" id="empresa" title="Informe o nome do menu" style="FONT-WEIGHT: bold;"/>
						<h:inputText value="#{menuController.menu.descricao}" size="50"/>
						<h:outputLabel value="URL" id="url" title="Informe a URL" style="FONT-WEIGHT: bold;"/>
						<h:inputText value="#{menuController.menu.url}" size="50"/>
						
						<h:outputLabel value="Menu:" style="FONT-WEIGHT: bold;"/> 
			               <p:selectOneMenu id="listgrupo" value="#{menuController.menu.idMenu}" required="false" requiredMessage="Selecione um grupo">
			               	<f:selectItem itemLabel="Selecione o menu pai" itemValue="#{NULL}" />   
			                   <f:selectItems value="#{menuController.menus}" 
			    				 var="menu" itemLabel="#{menu.descricao}" itemValue="#{menu.idMenu}" /> 
			               </p:selectOneMenu>

			               <h:outputLabel value="Grupo:" style="FONT-WEIGHT: bold;"/> 
			               <p:selectOneMenu id="listmenu" value="#{grupoController.grupo.idGrupo}" required="false" requiredMessage="Selecione um grupo">
			               	<f:selectItem itemLabel="Selecione o Grupo" itemValue="#{NULL}" />   
			                   <f:selectItems value="#{grupoController.grupos}" 
			    				 var="grupo" itemLabel="#{grupo.nome}" itemValue="#{grupo.idGrupo}" /> 
			               </p:selectOneMenu>

					</h:panelGrid>
					<br />
					<p:commandButton value="Salvar" type="submit" ajax="true" 
					 oncomplete="sucess.show()"
					actionListener="#{menuController.addMenu}">
					</p:commandButton>
				</p:fieldset>
			</h:panelGrid>	
		</h:form>	
					<br />
				<p:fieldset legend="Lista de Menu" style="margin-bottom: 150px;">
					<h:form id="formTabela">
						<p:dataTable id="listaUsuario" var="menu" value="#{menuController.menus}"   
					            	emptyMessage="Nenhum menu encontrado." paginator="true" 
					            	rows="3"  rowStyleClass="odd, even">    
					  
					        <p:column id="ID" headerText="ID" sortBy="#{menu.idMenu}">  
					            <h:outputText value="#{menu.idMenu}" />  
					        </p:column>  
					  
					        <p:column id="Nome" filterBy="#{menu.descricao}"  
					                headerText="Filtrar por nome" sortBy="#{menu.descricao}">  
					            <h:outputText value="#{menu.descricao}"/>  
					        </p:column>  
					  
					   		<p:column id="Pai" filterBy="#{menu.idMenuPai.idMenu}" 
					                headerText="Filtrar por pai">  
					            <h:outputText value="#{menu.idMenuPai.idMenu}"/>  
					        </p:column> 
					      
					       <p:column id="Grupo" filterBy="#{menu.grupo.nome}"   
					                headerText="Filtrar por grupo" sortBy="#{menu.grupo.nome}">  
					            <h:outputText value="#{menu.grupo.nome}" />  
					        </p:column>
	  
	  						  <p:column>
					          <p:commandButton  value="niveis" title="Associar Menu" ajax="true" 
				              					
				             					onclick="editWidget.show()" 
				             					>
								</p:commandButton>
						     </p:column>
					    </p:dataTable>
				    </h:form>
				</p:fieldset>

			<p:dialog header="Associando Menu ao Grupo" widgetVar="editWidget" resizable="false" id="edit" >
				<h:form id="formDialog">
					<h:panelGrid id="pickt" columns="2" cellpadding="4" style="margin:0 auto;">  
			  		<p:pickList id="pickList" value="#{menuController.menuDualList}" var="menu"   
	                	itemLabel="#{menu}" 
	                	itemValue="#{menu}" converter="menuConverter">	
	                </p:pickList>  
			            <p:commandButton  value="Salvar" title="Associar Menu" ajax="true" 
				             			actionListener="#{menuController.associaMenuGrupo}"
				             			
				             			>
								</p:commandButton>   
								    <f:facet name="sourceCaption">Opções</f:facet>    
                                    <f:facet name="targetCaption">Selecionados</f:facet> 
			        </h:panelGrid> 
			</h:form>
			</p:dialog>
</ui:define>

</ui:composition>

este é o erro que esta dando…

javax.servlet.ServletException: Um erro ocorreu ao realizar a injeção de recurso no bean gerenciado menuController
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:521)
root cause

com.sun.faces.mgbean.ManagedBeanCreationException: Um erro ocorreu ao realizar a injeção de recurso no bean gerenciado menuController
	com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:229)
	com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:105)
	com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
	com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
	com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
	com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
	com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72)
	org.apache.el.parser.AstValue.getValue(AstValue.java:161)
	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
	com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
	javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:193)
	org.primefaces.component.menubar.Menubar.getModel(Menubar.java:86)
	org.primefaces.component.menu.AbstractMenu.buildMenuFromModel(AbstractMenu.java:36)
	org.primefaces.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:35)
	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:884)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
	javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:854)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1674)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
	com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
root cause

com.sun.faces.spi.InjectionProviderException
	com.sun.faces.vendor.WebContainerInjectionProvider.invokeAnnotatedMethod(WebContainerInjectionProvider.java:115)
	com.sun.faces.vendor.WebContainerInjectionProvider.invokePostConstruct(WebContainerInjectionProvider.java:95)
	com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:223)
	com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:105)
	com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
	com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
	com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
	com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
	com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72)
	org.apache.el.parser.AstValue.getValue(AstValue.java:161)
	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
	com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
	javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:193)
	org.primefaces.component.menubar.Menubar.getModel(Menubar.java:86)
	org.primefaces.component.menu.AbstractMenu.buildMenuFromModel(AbstractMenu.java:36)
	org.primefaces.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:35)
	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:884)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
	javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:854)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1674)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
	com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
root cause

java.lang.reflect.InvocationTargetException
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)
	com.sun.faces.vendor.WebContainerInjectionProvider.invokeAnnotatedMethod(WebContainerInjectionProvider.java:113)
	com.sun.faces.vendor.WebContainerInjectionProvider.invokePostConstruct(WebContainerInjectionProvider.java:95)
	com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:223)
	com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:105)
	com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
	com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
	com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
	com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
	com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72)
	org.apache.el.parser.AstValue.getValue(AstValue.java:161)
	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
	com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
	javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:193)
	org.primefaces.component.menubar.Menubar.getModel(Menubar.java:86)
	org.primefaces.component.menu.AbstractMenu.buildMenuFromModel(AbstractMenu.java:36)
	org.primefaces.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:35)
	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:884)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
	javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:854)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1674)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
	com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
root cause

java.lang.ClassCastException: ew.com.br.model.MenuUsuarioGrupo cannot be cast to java.lang.Integer
	org.hibernate.type.descriptor.java.IntegerTypeDescriptor.unwrap(IntegerTypeDescriptor.java:36)
	org.hibernate.type.descriptor.sql.IntegerTypeDescriptor$1.doBind(IntegerTypeDescriptor.java:57)
	org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:92)
	org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:305)
	org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:300)
	org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1907)
	org.hibernate.loader.Loader.bindParameterValues(Loader.java:1878)
	org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1756)
	org.hibernate.loader.Loader.doQuery(Loader.java:828)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)
	org.hibernate.loader.Loader.doList(Loader.java:2463)
	org.hibernate.loader.Loader.doList(Loader.java:2449)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2279)
	org.hibernate.loader.Loader.list(Loader.java:2274)
	org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:122)
	org.hibernate.internal.SessionImpl.list(SessionImpl.java:1483)
	org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:374)
	ew.com.br.dao.MenuDao.listaMenuDiponivel(MenuDao.java:130)
	ew.com.br.business.MenuBusiness.listaMenuDisponivel(MenuBusiness.java:55)
	ew.com.br.controller.MenuController.montaPicker(MenuController.java:100)
	ew.com.br.controller.MenuController.init(MenuController.java:49)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)
	com.sun.faces.vendor.WebContainerInjectionProvider.invokeAnnotatedMethod(WebContainerInjectionProvider.java:113)
	com.sun.faces.vendor.WebContainerInjectionProvider.invokePostConstruct(WebContainerInjectionProvider.java:95)
	com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:223)
	com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:105)
	com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
	com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
	com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
	com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
	com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72)
	org.apache.el.parser.AstValue.getValue(AstValue.java:161)
	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
	com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
	javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:193)
	org.primefaces.component.menubar.Menubar.getModel(Menubar.java:86)
	org.primefaces.component.menu.AbstractMenu.buildMenuFromModel(AbstractMenu.java:36)
	org.primefaces.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:35)
	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:884)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
	javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:854)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1674)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
	com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)

De olho,eu creio que o problema está aqui:

Criterion in = Restrictions.in("menu.idMenu",menus);  

“menu.idmenu” deve ser Integer e vc tá passando um List<Menu> ao invés de List<Integer>