Não estou conseguindo utilizar JPA + J2EE no eclipse.
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="deliveryJPA" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>br.com.decimal.delivery.pojo.GrupoProduto</class>
<properties>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/postgres"/>
<property name="hibernate.connection.username" value="postgres"/>
<property name="hibernate.connection.password" value="postgres"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="connection.pool_size" value="2"/>
</properties>
</persistence-unit>
</persistence>
Esse é o meu arquivo persistence.xml , ele está dentro da pasta src/META-INF/persistence.xml.
/*
* GrupoProduto 06/06/2007
*
* (c) 2007 Decimal LTDA.
* All rights reserved / Todos os direitos reservados.
*
*/
package br.com.decimal.delivery.pojo;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "grupo_produto")
public class GrupoProduto {
@Id @GeneratedValue
@Column(name = "cd_grupo_produto")
private Long codigoGrupoProduto;
@Column(name = "descricao")
private String descricao;
@Column(name = "tipo_produto")
private String tipoProduto;
@Column(name = "dt_cadastro")
private Date dataCadastro;
@Column(name = "dt_alteracao")
private Date dataAlteracao;
public Long getCodigoGrupoProduto() {
return codigoGrupoProduto;
}
public void setCodigoGrupoProduto(Long codigoGrupoProduto) {
this.codigoGrupoProduto = codigoGrupoProduto;
}
public Date getDataAlteracao() {
return dataAlteracao;
}
public void setDataAlteracao(Date dataAlteracao) {
this.dataAlteracao = dataAlteracao;
}
public Date getDataCadastro() {
return dataCadastro;
}
public void setDataCadastro(Date dataCadastro) {
this.dataCadastro = dataCadastro;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getTipoProduto() {
return tipoProduto;
}
public void setTipoProduto(String tipoProduto) {
this.tipoProduto = tipoProduto;
}
}
Esse é o meu Pojo , utilizando a anotação do Banco de dados.
/*
* TesteInsercao 06/06/2007
*
* (c) 2007 Decimal LTDA.
* All rights reserved / Todos os direitos reservados.
*
*/
package br.com.decimal.delivery.teste;
import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import br.com.decimal.delivery.pojo.GrupoProduto;
/**
* @author Vitor Hugo Brito de Oliveira
*
*/
public class TesteInsercao {
public void executar() {
// Start EntityManagerFactory
EntityManagerFactory emf = Persistence.createEntityManagerFactory("deliveryJPA");
// First unit of work
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
GrupoProduto grupoProduto = new GrupoProduto();
grupoProduto.setDescricao("Representa as bebidas.");
grupoProduto.setTipoProduto("Bebida");
grupoProduto.setDataCadastro(new Date());
em.persist(grupoProduto);
tx.commit();
em.close();
// Second unit of work
EntityManager newEm = emf.createEntityManager();
EntityTransaction newTx = newEm.getTransaction();
newTx.begin();
List messages = newEm.createQuery("select m from GrupoProduto").getResultList();
System.out.println( messages.size() + " message(s) found" );
for (Object m : messages) {
GrupoProduto loadedMsg = (GrupoProduto) m;
System.out.println(loadedMsg.getDescricao());
}
newTx.commit();
newEm.close();
// Shutting down the application
emf.close();
}
public static void main(String[] args) {
TesteInsercao t = new TesteInsercao();
t.executar();
}
}
Esse é o código que efetua a inserção no banco de dados. Quando executo este ultimo código ele me retorna essa mensagem de erro.
Será que alguem já passou por isto e poderia me ajudar.