Hibernate + View

3 respostas
nandobgi

Olá pessoal,

Criei uma view no mysql e fiz um mapeamento no hibernate, o problema é que quando vou listar os dados recuperados da view ela está repetindo o primeiro registro, a view está funcionando perfeitamente no mysql.

Alguém já passou por isso?

Obrigado

3 Respostas

J2Alex

Bem… isso não faz muito sentido… poste o seu mapeamento e a forma como está listando os dados.

nandobgi

Se ajuda vou postar meu hbm.xml eu minha view

Hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!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.absoluta.dto">
    <class name="CnsProduto" table="vw_sel_produto">
    <!--  Identificador da chave primaria -->
    <id name="codigo" column="codigo" type="string">
		<generator class="assigned" />
	</id>
    
    <!--  Identificador dos campos simples -->
        
    <property name="codigoDoc"></property>
    <property name="numDocumento"></property>
    <property name="data" column="data" type="java.util.Date"></property>
    <property name="quantidade"></property>
    <property name="sinal"></property>
    
    <!-- Relacionamentos -->
	<!--  <many-to-one name="documento" class="Documento" column="documento_id" />-->
	<!--  <many-to-one name="requisicao" class="Requisicao" column="produto_id" />-->
	
	
    
    
    </class>
    </hibernate-mapping>

View

CREATE VIEW VW_SEL_PRODUTO AS
SELECT produto.codigo, produto.descricao, produto.qtdMinima, produto.qtdAtual,
			 produto.qtdReservada, produto.valorVenda, requisicao.numDocumento,
			 requisicao.data, requisicao.quantidade, documento.codigo as codigodoc, documento.sinal
			 FROM produto INNER JOIN requisicao ON requisicao.produto_id = produto.id
			 INNER JOIN documento ON requisicao.documento_id = documento.id
			 ORDER BY PRODUTO.CODIGO;

SELECT PRODUTO.CODIGO, DOCUMENTO.CODIGO AS CODIGODOC, REQUISICAO.NUMDOCUMENTO, REQUISICAO.DATA, REQUISICAO.QUANTIDADE, DOCUMENTO.SINAL
FROM REQUISICAO
INNER JOIN DOCUMENTO ON REQUISICAO.DOCUMENTO_ID = DOCUMENTO.ID
INNER JOIN PRODUTO ON REQUISICAO.PRODUTO_ID = PRODUTO.ID;

Estive pesquisando mas não encontro nada para me ajudar

Obrigado

nandobgi

É preciso fazer algum relacionamento no hbm.xml da view?
O estranho é que se tenho 10 registros retornados da view os 10 registros estão repetindo o primeiro registro, sendo que tenho 10 registros diferentes quando faço a busca no BD.

Obrigado

Criado 12 de junho de 2007
Ultima resposta 13 de jun. de 2007
Respostas 3
Participantes 2