Mapeamento de Coleçao utilizando Hibernate sem annotation

11 respostas
erasmo_tec

Bom dia.

Alguém já conseguiu mapear uma coleção de Enum utilizando hibernate sem annotation?

Utilizando annotation é tranquilo de fazer agora mapeando no xml não encontrei nada parecido…

11 Respostas

Hebert_Coelho

erasmo_tec:
Bom dia.

Alguém já conseguiu mapear uma coleção de Enum utilizando hibernate sem annotation?

Utilizando annotation é tranquilo de fazer agora mapeando no xml não encontrei nada parecido…

Coleção de enum seria @EllementCollection e sim, tem para xml.

<entity name="Employee" class="org.acme.Employee" access="FIELD"> <attributes> <id name="id"> <column name="EMP_ID"/> </id> <element-collection name="phones"> <collection-table name="PHONE"> <join-column name="OWNER_ID"/> </collection-table> </element-collection> </attributes> </entity> <embeddable name="Phone" class="org.acme.Phone" access="FIELD"> <attributes> <basic name="number"> <column name="P_NUMBER"/> </basic> </attributes> </embeddable>

erasmo_tec

Herbert obrigado pela ajuda…
Deixe eu complementar a minha duvida:

No meu cenario eu tenho uma classe Usuario que conterá um Set que se trata de um enum com os dias da semana gerando uma tabela de relacionamento um usuario pra muitos dias.

Até então estava mapeando da seguinte forma:

<set name="diasSemana" table="usuario_diaSemana" inverse="true" lazy="true" fetch="select">
		
		<key>
			<column name="usuario_id" /> 
		</key>
		<one-to-many class="br.com.teste.hibernate.vo.usuario.DiaSemana"/>

	</set>

e dessa forma a reclamação do hibernate é que DiaSemana não é uma entidade mapeada e que de fato não é.

dia da Semana é um enum e o que não estou conseguindo é dizer ao hibernate que DiaSemana é um enum.

Hebert_Coelho

E qual a dúvida? O.o

erasmo_tec

a duvida é como fazer para mapear o Set dizendo que se trata de uma coleção de enum

Hebert_Coelho

erasmo_tec:
a duvida é como fazer para mapear o Set dizendo que se trata de uma coleção de enum
Você viu o código que eu postei ali em cima? O.o

erasmo_tec

sim mas no meu caso acho que seria um pouco diferente devido as minhas declarações de mapeamento

<hibernate-mapping>
	<class name="br.com.teste.vo.Usuario" lazy="true">
		<id name="id" column="id" type="java.lang.Long" unsaved-value="null"/>
		
	</class>
</hibernate-mapping>

eu não tenho disponivel as tags element-colection

Hebert_Coelho

erasmo_tec:
sim mas no meu caso acho que seria um pouco diferente devido as minhas declarações de mapeamento

<hibernate-mapping>
	<class name="br.com.teste.vo.Usuario" lazy="true">
		<id name="id" column="id" type="java.lang.Long" unsaved-value="null"/>
		
	</class>
</hibernate-mapping>

eu não tenho disponivel as tags element-colection

A sua versão de hibernate, dá suporte ao elementcollection?

erasmo_tec

a versão desse projeto é a 3 por se tratar de um projeto antigo…

Hebert_Coelho

erasmo_tec:
a versão desse projeto é a 3 por se tratar de um projeto antigo…
vou mudar minha pergunta…
Você pesquisou na net se sua versão suporta elementcollection?

erasmo_tec

sim pesquisei e a anotacao não é do hibernate e sim da jpa a partir da versão 2

Hebert_Coelho

erasmo_tec:
sim pesquisei e a anotacao não é do hibernate e sim da jpa a partir da versão 2
A sim, legal.
E seu hibernate implementa a versão 2.0 do jpa?

Criado 23 de janeiro de 2013
Ultima resposta 23 de jan. de 2013
Respostas 11
Participantes 2