Consulta do Hibernate me retorna um lista de dados iguais....[RESOLVIDO]

2 respostas
aquino.vale

Pessoal, estou desenvolvendo um aplicativo para migrar os dados de um banco para outro com uma estrutura nova…Deparei-me com o seguinte problema fiz a consulta no banco e o mesmo me retorna um list com dados iguais segue o código.

@SuppressWarnings("unchecked")
	public List<RegistroArquivosRemoto> getLista(BigInteger idArq){
		Query query = getSession().createQuery("from RegistroArquivosRemoto r where r.idArquivo = :paramArq ");
		query.setParameter("paramArq", idArq);
		return (List<RegistroArquivosRemoto>)query.list();
	}

o mesmo teria que me retornar uma lista com 199 itens, o que acontece, mas a lista esta preenchida sempre com o primeiro valor.

segue o teste feito…

@Entity
@Table(name="registrosarquivos")
public final class RegistroArquivosRemoto implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="idarquivogerado")	
	private BigInteger idArquivo;

	@Column(name="idregistrocampanha")
	private BigInteger idRegistro;

// Getters e Setters omitidos..
}

	@Test
	public void buscaRegistrosRemotos() throws Exception {
		Session session = new HibernateUtil().getSessionRemote();
		List<RegistroArquivosRemoto> registros = new RegistroArquivosRemotoDAO(session).getLista(new BigInteger("811"));
		for (RegistroArquivosRemoto rar : registros) {
			System.out.println(rar+" - "+rar.getTeste());
		}
		Assert.assertEquals(true, (registros.size() > 1));
	}

o que e mais estranho é que fiz o teste com outra tabela e funcionou beleza, é o código e o mesmo…

Alguém pode me ajudar, já estou procurando a solução a um bom tempo…

2 Respostas

aquino.vale

Pessoal depois de muito pesquisar e tentar várias comando, cheguei a solução…

A tabela no banco esta setada como 2 chaves primarias, e no meu modelo identifiquei somente uma chave primária…
A solução foi criar uma nova classe e passar os campos primários para ela usando o @EmbeddedId

JonaTHANNM

caso já tenha sido resolvido, favor colocar [RESOLVIDO] no título do tópico.
obrigado

Criado 10 de junho de 2011
Ultima resposta 10 de jun. de 2011
Respostas 2
Participantes 2