Ajuda find do toplink

1 resposta
fabioebner

Pessoal eu utilizo o seguinte comando para fazer uma busca com toplink

public TbCliente buscaCliente(int codigoBusca){
        EntityManager em = getEntityManager();
        TbCliente objetoRetorno =  em.find(TbCliente.class, codigoBusca);
        return objetoRetorno;
        
    }

porem eu tenho a seguinte classe:

@Entity
@Table(name = "tb_pendencia_cliente")
@SequenceGenerator(sequenceName="tb_pendencia_cliente_cd_pendencia_cliente_seq",allocationSize=1, initialValue=0, name = "tb_pendencia_cliente_cd_pendencia_cliente_seq")
@NamedQueries({@NamedQuery(name = "TbPendenciaCliente.findByCdPendenciaCliente", query = "SELECT t FROM TbPendenciaCliente t WHERE t.cdPendenciaCliente = :cdPendenciaCliente"), @NamedQuery(name = "TbPendenciaCliente.findByCdMovimentacao", query = "SELECT t FROM TbPendenciaCliente t WHERE t.cdMovimentacao = :cdMovimentacao"), @NamedQuery(name = "TbPendenciaCliente.findByCdPendencia", query = "SELECT t FROM TbPendenciaCliente t WHERE t.cdPendencia = :cdPendencia"), @NamedQuery(name = "TbPendenciaCliente.findByDsPendencia", query = "SELECT t FROM TbPendenciaCliente t WHERE t.dsPendencia = :dsPendencia"), @NamedQuery(name = "TbPendenciaCliente.findByNrIdentificacaoPendencia", query = "SELECT t FROM TbPendenciaCliente t WHERE t.nrIdentificacaoPendencia = :nrIdentificacaoPendencia"), @NamedQuery(name = "TbPendenciaCliente.findByVlPendencia", query = "SELECT t FROM TbPendenciaCliente t WHERE t.vlPendencia = :vlPendencia"), @NamedQuery(name = "TbPendenciaCliente.findByDtPendencia", query = "SELECT t FROM TbPendenciaCliente t WHERE t.dtPendencia = :dtPendencia"), @NamedQuery(name = "TbPendenciaCliente.findByNmUsuarioPendencia", query = "SELECT t FROM TbPendenciaCliente t WHERE t.nmUsuarioPendencia = :nmUsuarioPendencia"), @NamedQuery(name = "TbPendenciaCliente.findByCdCpfUsuarioPendencia", query = "SELECT t FROM TbPendenciaCliente t WHERE t.cdCpfUsuarioPendencia = :cdCpfUsuarioPendencia")})
public class TbPendenciaCliente implements Serializable {
    @Transient
    private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY, generator="tb_pendencia_cliente_cd_pendencia_cliente_seq")  
    @Column(name = "cd_pendencia_cliente", nullable = false)
    private Integer cdPendenciaCliente;
    @Column(name = "cd_movimentacao")
    private BigInteger cdMovimentacao;
    @Column(name = "cd_pendencia", nullable = false)
    private long cdPendencia;
    @Column(name = "ds_pendencia", nullable = false)
    private String dsPendencia;
    @Column(name = "nr_identificacao_pendencia")
    private String nrIdentificacaoPendencia;
    @Column(name = "vl_pendencia", nullable = false, scale=2, precision=12)
    private BigDecimal vlPendencia;
    @Column(name = "dt_pendencia", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date dtPendencia;
    @Column(name = "nm_usuario_pendencia", nullable = false)
    private String nmUsuarioPendencia;
    @Column(name = "cd_cpf_usuario_pendencia", nullable = false)
    private String cdCpfUsuarioPendencia;
    @JoinColumn(name = "cd_cliente", referencedColumnName = "cd_cliente")
    @ManyToOne
    private TbCliente cdCliente;


.. geters and seters ....

como eu faco para selecionar com qual select eu quero fazer a busca(pois no entity eu ja tenho varios definidos)??? pq eu queria passar o TbCliente e ele me retornar as pendencias dele..

obrigado

obrigado

1 Resposta

victor.godinho

Utilizar namedQuery’s:

Query query = entityManager.createNamedQuery("TbPendenciaCliente.findByCdPendenciaCliente"); query .setParameter("cdPendenciaCliente", 5); query.getResultList();

Falows

Criado 11 de agosto de 2008
Ultima resposta 11 de ago. de 2008
Respostas 1
Participantes 2