Senhores,
Estou com problema na hora de criar um simples acesso ao banco via JPA.
Estou tetando acessar uma tabela simples,
Ele apresenta o seguinte erro:
Meu codigo eh o seguinte
JPA.BEAN
[code]package JPA.BEAN;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name=“cliente”)
public class Cliente {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String nome;
private String cidade;
private String sobrenome;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getSobrenome() {
return sobrenome;
}
public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}
}[/code]
JPA.DAO
[code]package JPA.DAO;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import JPA.BEAN.Cliente;
public class ClienteDAO {
EntityManagerFactory emf;
private EntityManager getEntityManager(){
return emf.createEntityManager();
}
public ClienteDAO() {
emf = Persistence.createEntityManagerFactory("sistemas");
}
public void salvar(Cliente cliente){
EntityManager em = getEntityManager();
try{
em.getTransaction().begin(); //inicia o processo de transacao
em.persist(cliente);//permite fazer insercoes e atualizacoes no bd
em.getTransaction().commit();//realizo as alteracoes no banco
}catch (Exception e) {
em.getTransaction().rollback();// se rolar uma excecao cancelo acao
e.printStackTrace();//mostro o percurso de onde veio as excecoes
}finally{
em.close();
}
}
public void excluir(Cliente cliente){
EntityManager em = getEntityManager();
try{
em.getTransaction().begin();
cliente = em.merge(cliente);
em.remove(cliente);
em.getTransaction().commit();
}catch (Exception e) {
em.getTransaction().rollback();
}
}
public void atualizar(Cliente cliente){
EntityManager em = getEntityManager();
try{
em.getTransaction().begin();
em.merge(cliente);
em.getTransaction().commit();
}catch (Exception e) {
em.getTransaction().rollback();
}}
}[/code]
JPA.TESTE
[code]package JPA.TESTE;
import JPA.BEAN.Cliente;
import JPA.DAO.ClienteDAO;
public class TesteCliente {
/**
* @param args
*/
public static void main(String[] args) {
ClienteDAO clidao = new ClienteDAO();
Cliente cliente = new Cliente();
// cliente.setCidade("salvador");
cliente.setNome("recife");
cliente.setSobrenome("neto");
//cliente.setId(12);
clidao.salvar(cliente);
//clidao.excluir(cliente);
//cliente.setCidade("Sao Paulo");
//cliente.setId(15);
//clidao.atualizar(cliente);
}
}[/code]
PERSISTENCE.XML
<?xml version="1.0" encoding="UTF-8"?>
org.hibernate.ejb.HibernatePersistence
< persistence-unit name="sistemas" transaction-type="RESOURCE_LOCAL">
<!-- Voce tem que dizer ao persistence.xml onde esta a sua entidade -->
JPA.BEAN.Cliente
<!--Configuracoes de dialeto e conexao-->
< property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" />
< property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
< property name="hibernate.connection.url" value="jdbc:mysql://localhost/test" />
< property name="hibernate.connection.username" value="root" />
< property name="hibernate.connection.password" value="rafa10" />
<!--Configuracoes de Debug-->
< property name="hibernate.show_sql" value="true" />
< property name="hibernate.format_sql" value="true" />
< property name="use_sql_comments" value="true" />
< /persistence-unit>
PS: Estou usando o NetBeans e as APIs que instalei sao toplink-essentials-agent.jar e toplink-essentials.jar
Poderiam me ajudar ?