Estou usando datasource + Porstgresql+JPA e está dando um erro: ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-3) ERRO: relação "tb_pessoa" não existe
Não sei onde está o erro
Tabela REATE TABLE liturgia.tb_pessoa ( id integer NOT NULL, dt_aniversario date, email character varying(100), endereco character varying(100), nome character varying(100), CONSTRAINT tb_pessoa_pkey PRIMARY KEY (id) )
persistence.xml <?xml version="1.0" encoding="UTF-8"?>
org.hibernate.jpa.HibernatePersistenceProvider java:jboss/datasources/PostgreDSpackage br.com.liturgiaweb.dao;
import java.util.List;
import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import javax.transaction.UserTransaction;
public abstract class BaseDAO {
@PersistenceContext(unitName = "LiturgiaWeb") private EntityManager em;//gerencia as conexoes com o banco de dados
@Inject private UserTransaction ut;
public Class obj;//responsável por fazer consultas dinâmicas. O tipo será GENERICO
public BaseDAO(){}
public BaseDAO(Class obj){ this.obj = obj; }
public void salvar(T obj) throws Exception{ try {
ut.begin(); em.persist(obj); ut.commit(); } catch (Exception e) { throw new Exception(e.getMessage()); } }
public void update(T obj){ em.merge(obj); }
@SuppressWarnings("unchecked") public List listarTodos (){ StringBuilder sql = new StringBuilder();
sql.append("from ").append(obj.getSimpleName()); Query query = em.createQuery(sql.toString()); return query.getResultList(); } }
package br.com.liturgiaweb.modelo;
import java.io.Serializable; import javax.persistence.*; import java.util.Date; import java.util.List;
/* The persistent class for the tb_pessoa database table. / @Entity @Table(name="tb_pessoa",schema="liturgia") public class Pessoa implements Serializable { private static final long serialVersionUID = 1L;
@Id @GeneratedValue(strategy = GenerationType.SEQUENCE) private Integer id;
@Temporal(TemporalType.DATE) @Column(name="dt_aniversario") private Date dtAniversario;
private String email;
private String endereco;
private String nome;
//bi-directional many-to-one association to Telefone @OneToMany(mappedBy="tbPessoa") private List tbTelefones;
public Pessoa() { }
public Integer getId() { return this.id; }
public void setId(Integer id) { this.id = id; }
public Date getDtAniversario() { return this.dtAniversario; }
public void setDtAniversario(Date dtAniversario) { this.dtAniversario = dtAniversario; }
public String getEmail() { return this.email; }
public void setEmail(String email) { this.email = email; }
public String getEndereco() { return this.endereco; }
public void setEndereco(String endereco) { this.endereco = endereco; }
public String getNome() { return this.nome; }
public void setNome(String nome) { this.nome = nome; }
public List getTbTelefones() { return this.tbTelefones; }
public void setTbTelefones(List tbTelefones) { this.tbTelefones = tbTelefones; }
public Telefone addTbTelefone(Telefone tbTelefone) { getTbTelefones().add(tbTelefone); tbTelefone.setTbPessoa(this);
return tbTelefone; }
public Telefone removeTbTelefone(Telefone tbTelefone) { getTbTelefones().remove(tbTelefone); tbTelefone.setTbPessoa(null);
return tbTelefone; }
}