[RESOLVIDO]ajuda por favor, dados nao sao inseridos corretamente no banco

Buenas amigos!
Estou fazendo faculdade de desenvolvimento e analise de sistemas mas a faculdade ainda esta longe de me ensinar programaçao para web que é o que eu gosto, so vai ensinar daqui a 1 ano e como nao estou a fim de perder tempo ate lá brincando com algoritmos em c++ que criam funçoes para desenhar na tela =p, como nao estou a fim de perder tempo com isso comprei um livro que o foco dele é desenvolvimento em JSF mas 1.2 e ai comecei a desenvolver algo dificil para um iniciante: um sistema para imobiliarias!!! Gosto de desafios e sou bastante auto-didata pois aprendi com o livro e me interessei mais pelo desenvolvimento com JSF 2.0 que com o 1.2 aí pesquisei uma serie de tutoriais que ensinam coisas sobre desenvolvimento mvc com primefaces e agora estou trancado numa parte que considero ser idiotamente facil para voces mas pra mim é um problemao e gostaria de ajuda se possivel :slight_smile:
Fiz minha apresentaçao pois sou novo no forum e no mundo do desenvolvimento web.

O problema é o seguinte:
Tenho minha classe modelo dos clientes que é um Bean que recebe apenas gets e sets, e para essa classe tenho uma classe modelo que liga ao banco de dados chamada ClientesDAO e nela possuo metodos para salvar editar excluir e listar os clientes, esta classe por sua vez faz uma chamada a classe connectionfactory que é a classe que cria a conexao com o banco de dados(uso o postgresql), e por fim tenho as classes clientesController que liga a classe clientes com a clientesDAO e a classe ImobiliariaBean que é uma especie de managedBean onde todas as classes estao interligadas e posso chamalas na view home.xhtml.
as classes abaixo:

package Model;

import java.io.Serializable;
import java.util.Date;

/**
 *
 * @author Administrador
 */
public class Clientes implements Serializable {
    private static final long serialVersionUID = 1L;  
    private int codigo;
  private String nome;
  private String nascimento;
  private int idade;
  private String telefone;
  private String cpf;
  private String rg;
  private String cep;
  private String endereco;
  private String bairro;
  private String cidade;
  private String uf;
  private String obs;

    public String getNome() {
        return nome;
    }

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }
    
    

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

    public String getNascimento() {
        return nascimento;
    }

    public void setNascimento(String nascimento) {
        this.nascimento = nascimento;
    }

    public int getIdade() {
        return idade;
    }

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

    public String getTelefone() {
        return telefone;
    }

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

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }

    public String getEndereco() {
        return endereco;
    }

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

    public String getBairro() {
        return bairro;
    }

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

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }

    public String getObs() {
        return obs;
    }

    public void setObs(String obs) {
        this.obs = obs;
    }
  
}
public class ClientesDAO {
    private Connection conn;

	public ClientesDAO() throws DAOException {
		try {
			this.conn = ConnectionFactory.getConnection();
		} catch (Exception e) {
			throw new DAOException("Erro: \n" + e.getMessage());
		}
	}

	public void salvar(Clientes cliente) throws DAOException {
		PreparedStatement ps = null;
		Connection conn = null;
		if (cliente == null)
			throw new DAOException("O cliente nao pode ser salvo porque foi passado um valor nulo");
		try {
			String SQL = "INSERT INTO clientes (nome, data_nascimento, telefone, cpf, rg, endereco, bairro, cidade, uf, obs) values(?,?,?,?,?,?,?,?,?,?)";
			conn = this.conn;
			ps = conn.prepareStatement(SQL);
			ps.setString(1, cliente.getNome());
			ps.setString(2, cliente.getNascimento());
			ps.setString(3, cliente.getTelefone());
			ps.setString(4, cliente.getCpf());
			ps.setString(5, cliente.getRg());
                        ps.setString(6, cliente.getEndereco());
                        ps.setString(7, cliente.getBairro());
                        ps.setString(8, cliente.getCidade());
                        ps.setString(9, cliente.getUf());
                        ps.setString(10, cliente.getObs());
			ps.executeUpdate();
		} catch (SQLException sqle) {
			throw new DAOException("Erro ao inserir dados "
					+ sqle.getMessage());
		} finally {
			ConnectionFactory.closeConnection(conn, ps);
		}
	}
public class ClientesController implements Serializable {
      private static final long serialVersionUID = 1L;  
    private Clientes cliente;

    

    public Clientes getCliente() {
        return cliente;
    }

    public void createCliente() {
        cliente = new Clientes();
        }
    
    
    public void addCliente(Clientes c) throws DAOException{
        ClientesDAO cdao = new ClientesDAO();
        if(c!=null){
        cdao.salvar(c);
        }
        }
    
    public void deleteCliente(Clientes c) throws DAOException{
        ClientesDAO cdao = new ClientesDAO();
        if(c!=null){
            cdao.excluir(c);
        }
    }
    
public void editCliente(Clientes c) throws DAOException{
    ClientesDAO cdao = new ClientesDAO();
    if (c!=null){
        cdao.atualizar(c);
    }
}

}
public class ConnectionFactory {
   public static Connection getConnection() throws DAOException{
                try{
                        Class.forName("org.postgresql.Driver");
                        return DriverManager.getConnection("jdbc:postgresql://localhost:5432/imobiliaria","postgres","evildead");  
                }catch (Exception e){
                        throw new DAOException(e.getMessage());
                }
        }
        public static void closeConnection(Connection conn, Statement stmt, ResultSet rs) throws DAOException{
                close(conn,stmt,rs);
        }
        public static void closeConnection(Connection conn, Statement stmt) throws DAOException{
                close(conn,stmt,null);
        }
        public static void closeConnection(Connection conn) throws DAOException{
                close(conn,null,null);
        }
        private static void close(Connection conn, Statement stmt, ResultSet rs) throws DAOException{
                try{
                        if(rs != null)
                                rs.close();
                        if(stmt != null )
                                stmt.close();
                        if(conn != null)
                                conn.close();
                }catch(Exception e){
                        throw new DAOException(e.getMessage());
                }
                
        }
        
    }

[code]
@ManagedBean
@SessionScoped
/**
*

  • @author Administrador
    */
    public class ImobiliariaBean implements Serializable {
    private static final long serialVersionUID = 1L;
    public ClientesController clientecontrol = new ClientesController();

    public ClientesController getClientecontrol() {
    return clientecontrol;
    }[/code]

peço desculpa se o post esta ficando grande demais
aqui embaixo vai a ultima coisa que é a view:

<h:body>
        <div id="body"/> 
        <div id="transparencia"/>
       
        
        <div id="nav_auxiliar_clientes" onclick="deslocar_nav_button(1)" class="nav_auxiliar">
        <p:commandButton id="clientes_nav_button" styleClass="nav_button" value="Clientes" style="left:40px;">
            <div class="glare" style="left: 55px;"/>
        </p:commandButton>
</div>
            <div id="nav_auxiliar_imoveis" onclick="deslocar_nav_button(2)" class="nav_auxiliar" style="left:10px;">  
         <p:commandButton id="imoveis_nav_button" styleClass="nav_button" value="Imóveis" style="left:220px;">
             <div class="glare" style="left: 235px;"/>
        </p:commandButton>
</div>
             <div id="nav_auxiliar_funcionarios" onclick="deslocar_nav_button(3)" class="nav_auxiliar" style="left:20px;">
        <p:commandButton id="funcionarios_nav_button" styleClass="nav_button" value="Funcionários" style="left:400px;">
             <div class="glare" style="left: 415px;"/>
        </p:commandButton>
</div>
         
             <div id="menu_clientes">
                 <form>
                     <p:commandButton action="#{imobiliariaBean.clientecontrol.createCliente()}" id="add_clientes" value="Add Clientes"/>
                 <p:commandButton id="lista_clientes" value="Listar Clientes"/>
                 </form>
             </div>
            
            
            <div id="painel_add_clientes">
                <form>
                    <span style="position: absolute; top:50px; left: 20px; color: white;">Nome</span>
                    <input id="nome_cliente" class="input_text" style="top:40px; left: 100px;" value="#{imobiliariaBean.clientecontrol.cliente.nome}"/>
                    <span style="position: absolute; top:50px; left: 270px; color: white;">Nascimento</span>
                    <input id="nascimento_cliente" class="input_text" style="top:40px; left: 350px;" value="#{imobiliariaBean.clientecontrol.cliente.nascimento}"/>
                 
                    <input id="telefone_cliente" class="input_text" style="top:90px; left: 100px;" value="#{imobiliariaBean.clientecontrol.cliente.telefone}"/>
                 
                    <input id="cpf_cliente" class="input_text" style="top:90px; left: 350px;" value="#{imobiliariaBean.clientecontrol.cliente.cpf}"/>
                   
                    <input id="rg_cliente" class="input_text" style="top:140px; left: 100px;" value="#{imobiliariaBean.clientecontrol.cliente.rg}"/>
                    
                    
                    
                    <p:autoComplete styleClass="rua_selector" value="#{imobiliariaBean.clientecontrol.cliente.endereco}"   
                    completeMethod="#{autoCompleteBean.complete}"/>  
                    
                    <p:autoComplete styleClass="cidade_selector" id="cidade_cliente" dropdown="true" value="#{imobiliariaBean.clientecontrol.cliente.cidade}"   
                    completeMethod="#{autoCompleteBean.complete}" />  
                    
                    <p:autoComplete styleClass="bairro_selector" id="bairro_cliente" dropdown="true" value="#{imobiliariaBean.clientecontrol.cliente.bairro}"   
                    completeMethod="#{autoCompleteBean.complete}" /> 
                       
                       
                       
                     p:inputTextarea id="obs_cliente" value="#{imobiliariaBean.clientecontrol.cliente.obs}"/> 
                       
                       <div style="position: absolute; top: 70%;">
                           <p:commandButton action="#{imobiliariaBean.clientecontrol.addCliente(imobiliariaBean.clientecontrol.cliente)}" value="OK" style=" background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(41,184,229,1)), color-stop(68%,rgba(179,220,237,1)), color-stop(100%,rgba(188,224,238,1)));
-webkit-box-shadow: rgba(5, 170, 250, 0.5) 0px 10px 16px;"/>
           
</div>
                </form>
            </div>
       
        <div id="c"/> 
        <div id="i"/>
        <div id="f"/>
        
   
        
    </h:body>

o comand button de id=“add_clientes” tem a action="#{imobiliariaBean.clientecontrol.createCliente()}" que faz uma nova instancia da classe Clientes.
o command button cuja action="#{imobiliariaBean.clientecontrol.addCliente(imobiliariaBean.clientecontrol.cliente)}" insere no banco de dados o cliente criado pelo clientecontrol.createCliente().

O erro é que ele salva o cliente no banco mas todos os campos ficam vazios, so o codigo que é um atributo auto_increment no mysql e serial no postgre que aparece, e so aparece porquenao depende de digitado para ser inserido.
Quanto a erros de console nada aparece ele so salva tudo como espaços em branco e ja era.

tenho 3 teorias:
O problema esta no cliente gerado que chega como um valor nulo
O problema esta no drive do postgre
O problema esta no

nao sei qual pode ser mas espero que possam me ajudar.
Abraços e obrigado desde ja =D

Meu Deus!
A resposta é tao ridicula que da vergonha de colocar mas colocarei para ajudar outros futuros com o mesmo problema afinal somos uma comunidade…
o problema é que como os forms do primefaces fazem suas requisiçoes http via javascript os componentes primarios do html nao irao funcionar… coisas como <input nem pensar, pois estes precisam do form tradicional que faz a requisiçao por um servlet.
RESUMINDO, NADA DE TEM QUE SER <P:inputText>.
assim declaro resolvido o problema, abraços