Duvida sobre persistencia

Ola a todos,

Sou novo por aqui e estou precisando da ajuda de quem sabe mais que eu.

Seguinte estou criando uma tela de cadastro de clientes usando a persistencia, e esta dando alguns problemas. Eu criei uma classe chamada de ClienteDAO, a classe Cliente e o form JanCadCliente, e não estou conseguindo fazer com que ele funcione:

a classe ClienteDAO:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.LinkedList;
import sismax.modelo.Cliente;

public class ClienteDAO {

public static Object getInstance() {
    throw new UnsupportedOperationException();
}

LinkedList < Cliente > dados;
public ClienteDAO() {
    dados = new LinkedList < Cliente > ();
}
public void inserir (Cliente p) throws SQLException{
    Connection cnx =GenericDAO.getConexao();
    PreparedStatement ps = GenericDAO.getConexao().prepareStatement(
            "Insert into Cliente (nome, dtNasc, rg, telefone, celular, email, dtCad) values (?, ?, ?, ?, ?, ?, ?)");

}

}


Classe Cliente:

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Temporal;

@Entity
public class Cliente implements Serializable {
private static long serialVersionUID = 1L;

/**
 * @return the serialVersionUID
 */
public static long getSerialVersionUID() {
    return serialVersionUID;
}

/**
 * @param aSerialVersionUID the serialVersionUID to set
 */
public static void setSerialVersionUID(long aSerialVersionUID) {
    serialVersionUID = aSerialVersionUID;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

    private String cpf;

    @Column( length=50, unique=true, nullable=false )
    private String nome;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dtNasc;

    @Column( length=10, unique=true, nullable=false )
    private String rg;

    @Column( length=10, unique=true, nullable=false )
    private String telefone;

    @Column( length=10, unique=true, nullable=false )
    private String celular;

    @Column( length=20, unique=true, nullable=false )
    private String email;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dtCad;

public Cliente(String text, String text0, String text1, String text2, String text3, String text4, String text5, String text6) {
    throw new UnsupportedOperationException("Not yet implemented");
}

public Date getDtCad() {
    return dtCad;
}

public void setDtCad(Date dtCad) {
    this.dtCad = dtCad;
}

public String getCelular() {
    return celular;
}

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

public String getCpf() {
    return cpf;
}

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

public Date getDtNasc() {
    return dtNasc;
}

public void setDtNasc(Date dtNasc) {
    this.dtNasc = dtNasc;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getNome() {
    return nome;
}

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

public String getRg() {
    return rg;
}

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

public String getTelefone() {
    return telefone;
}

public void setTelefone(String 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 Cliente)) {
        return false;
    }
    Cliente other = (Cliente) 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 "sismax.modelo.NewEntity[id=" + id + "]";
}

}


E o form JanCadCliente onde esta o action Salvar:

private void BtSalvar1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Cliente p = new Cliente( TxNome1.getText(), TxRg1.getText(), TxCpf1.getText(), TxfDtNasc1.getText(),
TxCelular1.getText(), TxEmail1.getText(), TxTelefone1.getText(), txDtCadCliente.getText());
ClienteDAO.getInstance().inserir§;

    } catch (Exception ex) {
        javax.swing.JOptionPane.showMessageDialog(this, "Erro:\n"+ex.getMessage() );
    }
}          

Eu não estou conseguindo encontrar o erro ai se puderem me ajudar.

Bem vindo ao fórum!

Antes de mais nada, vou pedir que coloque seu código entre as tags e para que ele fique legível. Uma vez que fizer isso, poderemos te ajudar.

qual o erro que aparece? lança exceção? flw

[quote=Paulinho_sismax]Ola a todos,

Sou novo por aqui e estou precisando da ajuda de quem sabe mais que eu.

Seguinte estou criando uma tela de cadastro de clientes usando a persistencia, e esta dando alguns problemas. Eu criei uma classe chamada de ClienteDAO, a classe Cliente e o form JanCadCliente, e não estou conseguindo fazer com que ele funcione:

a classe ClienteDAO:

[code]import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.LinkedList;
import sismax.modelo.Cliente;

public class ClienteDAO {

public static Object getInstance() {
    throw new UnsupportedOperationException();
}

LinkedList < Cliente > dados;
public ClienteDAO() {
    dados = new LinkedList < Cliente > ();
}
public void inserir (Cliente p) throws SQLException{
    Connection cnx =GenericDAO.getConexao();
    PreparedStatement ps = GenericDAO.getConexao().prepareStatement(
            "Insert into Cliente (nome, dtNasc, rg, telefone, celular, email, dtCad) values (?, ?, ?, ?, ?, ?, ?)");

}

}[/code]


Classe Cliente:

[code]import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Temporal;

@Entity
public class Cliente implements Serializable {
private static long serialVersionUID = 1L;

/**
 * @return the serialVersionUID
 */
public static long getSerialVersionUID() {
    return serialVersionUID;
}

/**
 * @param aSerialVersionUID the serialVersionUID to set
 */
public static void setSerialVersionUID(long aSerialVersionUID) {
    serialVersionUID = aSerialVersionUID;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

    private String cpf;

    @Column( length=50, unique=true, nullable=false )
    private String nome;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dtNasc;

    @Column( length=10, unique=true, nullable=false )
    private String rg;

    @Column( length=10, unique=true, nullable=false )
    private String telefone;

    @Column( length=10, unique=true, nullable=false )
    private String celular;

    @Column( length=20, unique=true, nullable=false )
    private String email;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dtCad;

public Cliente(String text, String text0, String text1, String text2, String text3, String text4, String text5, String text6) {
    throw new UnsupportedOperationException("Not yet implemented");
}

public Date getDtCad() {
    return dtCad;
}

public void setDtCad(Date dtCad) {
    this.dtCad = dtCad;
}

public String getCelular() {
    return celular;
}

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

public String getCpf() {
    return cpf;
}

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

public Date getDtNasc() {
    return dtNasc;
}

public void setDtNasc(Date dtNasc) {
    this.dtNasc = dtNasc;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getNome() {
    return nome;
}

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

public String getRg() {
    return rg;
}

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

public String getTelefone() {
    return telefone;
}

public void setTelefone(String 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 Cliente)) {
        return false;
    }
    Cliente other = (Cliente) 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 "sismax.modelo.NewEntity[id=" + id + "]";
}

}[/code]


E o form JanCadCliente onde esta o action Salvar:

[code]private void BtSalvar1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Cliente p = new Cliente( TxNome1.getText(), TxRg1.getText(), TxCpf1.getText(), TxfDtNasc1.getText(),
TxCelular1.getText(), TxEmail1.getText(), TxTelefone1.getText(), txDtCadCliente.getText());
ClienteDAO.getInstance().inserir§;

    } catch (Exception ex) {
        javax.swing.JOptionPane.showMessageDialog(this, "Erro:\n"+ex.getMessage() );
    }
}          

[/code]

Eu não estou conseguindo encontrar o erro ai se puderem me ajudar.
[/quote]

Informe o erro que está gerando no console para que possamos te ajudar…

E cade o resto do teu código salvar?

Primeiro vc tem que se decidir pelo que vai utilizar…Não basta apenas olhar códigos na internet e ir programando, sem entendê-los. Você vai utilizar JPA?? ok, mas então utilize o EntityManager, ou do toplink, hibernate, etc…vai utilizar JDBC puro?? ok, então nao precisa colocar as annotations no teu Bean.

O teu método inserir está incompleto…por isso não insere…Dá uma olhada nisso, verifique o que vai realmente utilizar…e se tiver alguma dúvida, poste pra continuarmos a te ajudar.

Fernando

Ok Fernardo vou fazer as correções necessárias com o EntityManager, mas oque está faltando no método inserir, pq esse método inserir eu utilizei de um que eu fiz que não usa JPA por isso devo ter feito confusão, estou meio perdido que é o meu primeiro projeto utilizando JPA.