1
resposta

relação "tb_pessoa" não existe

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/PostgreDS

package 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; }

}

1 resposta

Ola Ricardo,

Você criou o relacionamento entre as tabelas tbPessoa e tbTelefones?