Ajuda numa query usando Hibernate

3 respostas
S

Bem galera,

Eu tenho 2 objetos Modulo e Funcao;

Vou apresentar o mapeamentos dos 2 abaixo:

Modulo

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.abg.administracao.bean">
	<class name="Modulo" table="TB_MODULO" lazy="true">
		<id name="id" column="ID">
			<generator class="increment"/>
		</id>

		<property name="nome" column="NOME" length="30" not-null="true"/>
		<property name="titulo" column="TITULO" length="30" not-null="true"/>
		<property name="descricao" column="DESCRICAO" length="255" not-null="true"/>

		<!-- Relacionamento de 1 para muitos com Funcao -->
		<bag name="funcoes" lazy="false" cascade="all">
			<key column="ID_MODULO" update="false"/>
			<one-to-many class="Funcao"/>
		</bag>

	</class>
</hibernate-mapping>

Funcao

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.abg.administracao.bean">
	<class name="Funcao" table="TB_FUNCAO" lazy="true">
		<id name="id" column="ID">
			<generator class="increment"/>
		</id>

		<property name="nome" column="NOME" length="30" not-null="true"/>
		<property name="titulo" column="TITULO" length="30" not-null="true"/>

		<!-- Relacionamente de muitos para 1 com Modulo -->
		<many-to-one name="modulo" column="ID_MODULO" class="Modulo" not-null="true" lazy="false"/>
		
		<!-- Relacionamente de muitos para muitos com Perfil -->
		<bag name="perfis" table="TB_PERFIL_FUNCAO" lazy="false" cascade="save-update">
			<key column="ID_FUNCAO"/>
			<many-to-many class="Perfil" column="ID_PERFIL"/>
		</bag>
	</class>
</hibernate-mapping>

Eu gostaria de fazer um query que a partir de um list de Funções retornasse os modulos.

Criteria criteria = session.createCriteria(Modulo.class);
	criteria.add(Restrictions.in("funcoes", List<Funcao>);
			
	return (ArrayList<Modulo>) criteria.list();

Mais ao rodar a seguinte exception e disparada…

Se alguem tiver algum materia ou poder me dar um luz agradeco…

Abraço!!!

3 Respostas

S

Alguem saberia de algum lugar em BH, que teria um curso muito bom sobre o Hibernate?

M

Olá,

Você tem que passar uma lista válida, ou seja, inicializada ao método in de Restrinctions.

Quanto ao curso eu conheço a PDCase. Mais informações: http://www.pdcase.com/site/central_atendimento.aspx

S

Ae marcos na verdade eu não queria colocar meu código todo…

mais no lugar do “List<Funcao>”, eu uso colaborador.getFuncoes(), que retorna um List contendo funções.

Vou dar uma olhada nessa empresa, você sabe me falar sobre o curso??? Se ele é bem basico ou chega até um nível intermediario???

Criado 10 de outubro de 2008
Ultima resposta 28 de out. de 2008
Respostas 3
Participantes 2