Select

Ae pessoal estou com uma duvida e queria a ajuda de vcs
como e que eu faço pra selecionar um nome em uma tabela, sendo que o nome tem q ser inserido pelo usuario ae o select busca o nome relacionado com o que o usuario digitou.

???__explique melhor

tipo eu tenho uma tabela cliente

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Entidade;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

/**
 *
 * @author operador
 */
@Entity
public class EntidadeCLiente implements Serializable {
   
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String nome;
    private String sexo;
    private String endereco;
    private String modalidade;
    private String observacao;
    private int idade;
    private int ddd;
    private int telefone;
    private int celular;
    private double peso;
    private double altura;
    private String exameapresentado;
    private int numero;
    private String complemento;
    private String bairro;

    public int getCelular() {
        return celular;
    }

    public void setCelular(int celular) {
        this.celular = celular;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getComplemento() {
        return complemento;
    }

    public void setComplemento(String complemento) {
        this.complemento = complemento;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public int getDdd() {
        return ddd;
    }

    public void setDdd(int ddd) {
        this.ddd = ddd;
    }

    public double getAltura() {
        return altura;
    }

    public void setAltura(double altura) {
        this.altura = altura;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getExameapresentado() {
        return exameapresentado;
    }

    public void setExameapresentado(String exameapresentado) {
        this.exameapresentado = exameapresentado;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public String getModalidade() {
        return modalidade;
    }

    public void setModalidade(String modalidade) {
        this.modalidade = modalidade;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getObservacao() {
        return observacao;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }

    public double getPeso() {
        return peso;
    }

    public void setPeso(double peso) {
        this.peso = peso;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    public int getTelefone() {
        return telefone;
    }

    public void setTelefone(int telefone) {
        this.telefone = telefone;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

     

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof EntidadeCLiente)) {
            return false;
        }
        EntidadeCLiente other = (EntidadeCLiente) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return this.nome;
    }
}

que contem nome sexo endereço etc
na pagina jsf eu queria um campo aonde o usuario digitaria o nome tipo joao
ae se tivesse um joão cadastrado retornaria ao cadastro joao.
desculpe e porque estou começando agora e sou leigo ainda.
vlw pela atenção

"SELECT * FROM clientes WHERE nome LIKE '" + campoPesquisa + "%'"

campoPesquisa é o campo onde tu vai digitar a pesquisa, então tudo q tu digitar la, devido ao “%” no final,vão mostrar todos os registros q iniciam por “J”

Se preferir, faz uma busca sobre a clausula LIKE, é bastante interessante

achu que o ruim de procurar pelo nome , vc tem que escrever certinho o nome da pessoa pois esta no seu banco,pq vc não faz uma pesquisa com algum campo de codigo e coloca um chave primária, para que não repita número pois com nome ja tive dificuldades pois pode ter um monte de joão , à não ser que vc tenha uma JTABLE que mostre todos os joão , assim fica mais prático e fácil de visualizar.

to começando a intender esse select fica na pagina jsf se n for muito encomodo vc poderia me dar um pedacinho do codigo
to começando agora e to com umas dificuldade
obrigado

e assim mesmo eu quero um campo ae as repostas vem em um jtable q vai lista todos relacionados ao nome

[quote=juninhovas]to começando a intender esse select fica na pagina jsf se n for muito encomodo vc poderia me dar um pedacinho do codigo
to começando agora e to com umas dificuldade
obrigado[/quote]
Eu nao colocaria na pagina jsf e sim em uma servlet, logo vc q deveria mostrar como ta organizado teu progeto, que pagina ta fazendo o que, pra poder te guiar em como proseguir

tenho duas entidade a cidade acima que a cliente
e tenho a entidade mensalidade

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Entidade;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author joao
 */

@Entity
@Table(name="mensalidade")

public class Mensalidade implements Serializable {
        private static final long serialVersionUID = 1L;

    
    @Id
    @GeneratedValue
    private long id;
    @ManyToOne
    private EntidadeCLiente entidadeCLiente;
    @Temporal(value = TemporalType.DATE)
    private Date data_mensalidade;
    private BigDecimal valor;
    private String funcionario;

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Mensalidade other = (Mensalidade) obj;
        if (this.id != other.id) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 73 * hash + (int) (this.id ^ (this.id >>> 32));
        return hash;
    }

    public EntidadeCLiente getEntidadeCLiente() {
        return entidadeCLiente;
    }

    public void setEntidadeCLiente(EntidadeCLiente entidadeCLiente) {
        this.entidadeCLiente = entidadeCLiente;
    }

    
    

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }



    public String getFuncionario() {
        return funcionario;
    }
    public Date getData_mensalidade() {
        return data_mensalidade;
    }

    public void setData_mensalidade(Date data_mensalidade) {
        this.data_mensalidade = data_mensalidade;
    }

    public void setFuncionario(String funcionario) {
        this.funcionario = funcionario;
    }



    public BigDecimal getValor() {
        return valor;
    }

    public void setValor(BigDecimal valor) {
        this.valor = valor;
    }
  
}

pra cadastrar o usuario e normal
pra mim cadastrar uma mensalidade tem q ter um cliente
ae eu to usando o

<h:outputText value="Aluno:"/> <h:selectOneMenu id="entidadeCliente" value="#{mensalidadeController.selected.entidadeCLiente}" required="true" requiredMessage="Selecione um Aluno"> <f:selectItems value="#{entidadeCLienteController.itemsAvailableSelectOne}"/> </h:selectOneMenu>
so que ele lista todos ficando uma lista muito grande
pagina do Create da mensalidade

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.prime.com.tr/ui"
   >

    <h:head>
        <title>Mensalidade</title>

    </h:head>
    <h:body>

        <f:view>
            <h:form >
                <p:menubar >
                    <p:submenu label="Inicio">
                        <p:menuitem label="Pagina Inicial " url="../index.jsf" > </p:menuitem>
                    </p:submenu>
                    <p:submenu label="cadastrar">
                        <p:menuitem label="aluno">
                            <h:commandLink action="#{mensalidadeController.prepareCreate}" value="aluno" immediate="true"/>
                        </p:menuitem>
                    </p:submenu>
                    <p:submenu label="consultar">
                        <p:menuitem label="consultar" url="List.jsf" > </p:menuitem>
                    </p:submenu>
                </p:menubar>
                <h:panelGroup id="messagePanel" layout="block">
                    <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
                </h:panelGroup>
                <br/>
                <br/>
                <center>
                    <div style="background-color:#FFF8DC;text-align:center; width:400px; height:30px;border:3px solid black;">
                        <font size="5" color="black"> Mensalidade </font>
                    </div>
                    <div style="border:3px solid black; width:400px; height:150px;margin-top:3px;  ">
                        <br/>
                        <h:panelGrid columns="3">
                            <h:outputLabel value="Data:"/> &nbsp;&nbsp;&nbsp;
                            <p:calendar id="data_mensalidade" value="#{mensalidadeController.selected.data_mensalidade}" pattern="dd-MM-yyyy" required="true" requiredMessage="campo Data esta em branco"/>
                            
                            

                        </h:panelGrid>
                        <h:panelGrid columns="2">
                            <h:outputText value="Aluno:"/>
                            <h:selectOneMenu id="entidadeCliente"  value="#{mensalidadeController.selected.entidadeCLiente}" required="true" requiredMessage="Selecione um Aluno">
                                <f:selectItems value="#{entidadeCLienteController.itemsAvailableSelectOne}"/>
                            </h:selectOneMenu>

                            <h:outputLabel value="Valor:"/>
                            <h:inputText id="valor" size="12"
                                         maxlength="10"
                                         value="#{mensalidadeController.selected.valor}"
                                         required="true" label="Valor" requiredMessage="campo valor esta em branco">
                                <f:convertNumber minFractionDigits="2"/>
                            </h:inputText>
                            <h:outputText  value="Funcionario:"/>
                            <h:inputText id="funcionario" value="#{mensalidadeController.selected.funcionario}" required="true" requiredMessage="campo Funcionario esta em Branco"/><br/>
                        </h:panelGrid>


                    </div>
                    <div style="background-color:#FFF8DC;text-align:center; width:400px; height:30px;border:3px solid black;margin-top:3px;" >
                        <h:commandLink action="#{mensalidadeController.create}"  >
                            <img src="./../resources/BotaoOK.png" height="22" border="0" alt="BotaoCadastrar" vspace="3"/>
                        </h:commandLink>
                        &nbsp;
                        <h:commandLink action="#{mensalidadeController.prepareCreate}" immediate="true" >
                            <img src="./../resources/limpa.jpg" height="22" border="0" alt="BotaoLimpar" vspace="3"/>
                        </h:commandLink>
                    </div>
                </center>
            </h:form>
        </f:view>
    </h:body>
</html>

eu queria de antes de abrir a pagina cadastro da mensalidade abrise uma pagina pra selecionar por nome
ae pode listar em jtable depois selecionar o desejado ae depois redirecionar para a pagina Create da mensalidade
com o campo aluno ja preenchido com o nome selecionado