Carinha, tem uma boa chance de isto ser algum problema relacionado a implantação do “equals” no seu bean.
Por exemplo, sua tabela retorna para cada registro 5 campos. Aí o seu equals só considera 4. Se você tiver 10 itens em que os 4 campos considerados são iguais, mas o quinto for diferente, 9 destes itens não aparecerão do resultado.
Nota: isso estou puxando do meu conhecimento de Hibernate e Set, talvez com JPA seja diferente. Mas duvido…
pugnator
Fiz como abaixo.
os atributos estao iguais as colunas pq estou com pouco tempo pra escrever @column em tudo…
/** * */packagebr.com.entity.integracao;importjava.io.Serializable;importjava.util.Date;importjavax.persistence.Entity;importjavax.persistence.EntityResult;importjavax.persistence.Id;importjavax.persistence.SqlResultSetMapping;@SqlResultSetMapping(name="Contrato",entities={@EntityResult(entityClass=br.com.entity.integracao.Contrato.class)})@EntitypublicclassContratoimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@IdprivateLongid_matricula;privateLongid_contrato;privateIntegerversao;privateDatedata_vencimento;privateLongid_cobranca;privateLongid_registro;privateStringnosso_numero;privateLongid_parcela;privateLongid_cliente;privateDoublevalor_parcela;privateDateapropriacao;/** * @return the id_matricula */publicLonggetId_matricula(){returnid_matricula;}/** * @param id_matricula the id_matricula to set */publicvoidsetId_matricula(Longid_matricula){this.id_matricula=id_matricula;}/** * @return the id_contrato */publicLonggetId_contrato(){returnid_contrato;}/** * @param id_contrato the id_contrato to set */publicvoidsetId_contrato(Longid_contrato){this.id_contrato=id_contrato;}publicIntegergetVersao(){returnversao;}publicvoidsetVersao(Integerversao){this.versao=versao;}publicDategetData_vencimento(){returndata_vencimento;}publicvoidsetData_vencimento(Datedata_vencimento){this.data_vencimento=data_vencimento;}publicLonggetId_cobranca(){returnid_cobranca;}publicvoidsetId_cobranca(Longid_cobranca){this.id_cobranca=id_cobranca;}publicLonggetId_registro(){returnid_registro;}publicvoidsetId_registro(Longid_registro){this.id_registro=id_registro;}publicStringgetNosso_numero(){returnnosso_numero;}publicvoidsetNosso_numero(Stringnosso_numero){this.nosso_numero=nosso_numero;}publicLonggetId_parcela(){returnid_parcela;}publicvoidsetId_parcela(Longid_parcela){this.id_parcela=id_parcela;}publicLonggetId_cliente(){returnid_cliente;}publicvoidsetId_cliente(Longid_cliente){this.id_cliente=id_cliente;}publicDoublegetValor_parcela(){returnvalor_parcela;}publicvoidsetValor_parcela(Doublevalor_parcela){this.valor_parcela=valor_parcela;}publicDategetApropriacao(){returnapropriacao;}publicvoidsetApropriacao(Dateapropriacao){this.apropriacao=apropriacao;}@OverridepublicStringtoString(){Stringv="\ngetApropriacao "+getApropriacao()+"\ngetData_vencimento "+getData_vencimento()+"\ngetId_cliente "+getId_cliente()+"\n getId_cobranca "+getId_cobranca()+"\ngetId_contrato "+getId_contrato()+"\ngetId_matricula "+getId_matricula()+"\ngetId_parcela"+getId_parcela()+"\ngetId_registro "+getId_registro()+"\ngetNosso_numero "+getNosso_numero()+"\ngetNosso_numero "+getNosso_numero()+"\ngetValor_parcela "+getValor_parcela()+"\ngetVersao "+getVersao();returnv;}@OverridepublicinthashCode(){finalintprime=31;intresult=1;result=prime*result+((apropriacao==null)?0:apropriacao.hashCode());result=prime*result+((data_vencimento==null)?0:data_vencimento.hashCode());result=prime*result+((id_cliente==null)?0:id_cliente.hashCode());result=prime*result+((id_cobranca==null)?0:id_cobranca.hashCode());result=prime*result+((id_contrato==null)?0:id_contrato.hashCode());result=prime*result+((id_matricula==null)?0:id_matricula.hashCode());result=prime*result+((id_parcela==null)?0:id_parcela.hashCode());result=prime*result+((id_registro==null)?0:id_registro.hashCode());result=prime*result+((nosso_numero==null)?0:nosso_numero.hashCode());result=prime*result+((valor_parcela==null)?0:valor_parcela.hashCode());result=prime*result+((versao==null)?0:versao.hashCode());returnresult;}@Overridepublicbooleanequals(Objectobj){if(this==obj)returntrue;if(obj==null)returnfalse;if(getClass()!=obj.getClass())returnfalse;Contratoother=(Contrato)obj;if(apropriacao==null){if(other.apropriacao!=null)returnfalse;}elseif(!apropriacao.equals(other.apropriacao))returnfalse;if(data_vencimento==null){if(other.data_vencimento!=null)returnfalse;}elseif(!data_vencimento.equals(other.data_vencimento))returnfalse;if(id_cliente==null){if(other.id_cliente!=null)returnfalse;}elseif(!id_cliente.equals(other.id_cliente))returnfalse;if(id_cobranca==null){if(other.id_cobranca!=null)returnfalse;}elseif(!id_cobranca.equals(other.id_cobranca))returnfalse;if(id_contrato==null){if(other.id_contrato!=null)returnfalse;}elseif(!id_contrato.equals(other.id_contrato))returnfalse;if(id_matricula==null){if(other.id_matricula!=null)returnfalse;}elseif(!id_matricula.equals(other.id_matricula))returnfalse;if(id_parcela==null){if(other.id_parcela!=null)returnfalse;}elseif(!id_parcela.equals(other.id_parcela))returnfalse;if(id_registro==null){if(other.id_registro!=null)returnfalse;}elseif(!id_registro.equals(other.id_registro))returnfalse;if(nosso_numero==null){if(other.nosso_numero!=null)returnfalse;}elseif(!nosso_numero.equals(other.nosso_numero))returnfalse;if(valor_parcela==null){if(other.valor_parcela!=null)returnfalse;}elseif(!valor_parcela.equals(other.valor_parcela))returnfalse;if(versao==null){if(other.versao!=null)returnfalse;}elseif(!versao.equals(other.versao))returnfalse;returntrue;}}
pugnator
mudei o id para um id composto e tiramos o order by por data (que se repetia) por um id(pk)