:? ai galera sera que alguem poderia me dar uma mao, o caso é o seguinte
tenho o meu projeto ejb que uma das classes é
package entidades;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name=“unidade_organizacional”)
public class UnidadeOrganizacional implements Serializable {
@Id
@Column(name=“cod_unidade_organizacional”)
private int codUnidadeOrganizacional;
private String nome;
@OneToMany(mappedBy="unidadeOrganizacional")
private Set<Curso> cursoCollection;
@OneToMany(mappedBy="unidadeOrganizacional")
private Set<DepartamentoResponsavel> departamentoResponsavelCollection;
private static final long serialVersionUID = 1L;
public UnidadeOrganizacional() {
super();
}
public int getCodUnidadeOrganizacional() {
return this.codUnidadeOrganizacional;
}
public void setCodUnidadeOrganizacional(int codUnidadeOrganizacional) {
this.codUnidadeOrganizacional = codUnidadeOrganizacional;
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Set<Curso> getCursoCollection() {
return this.cursoCollection;
}
public void setCursoCollection(Set<Curso> cursoCollection) {
this.cursoCollection = cursoCollection;
}
public Set<DepartamentoResponsavel> getDepartamentoResponsavelCollection() {
return this.departamentoResponsavelCollection;
}
public void setDepartamentoResponsavelCollection(Set<DepartamentoResponsavel> departamentoResponsavelCollection) {
this.departamentoResponsavelCollection = departamentoResponsavelCollection;
}
}
ela pode ser preenchida sem precisar de nenhuma outra classe
e tenho a classe metodos onde estao meus comando no BD
package teste;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import entidades.*;
public class Metodos {
private EntityManagerFactory emf;
private EntityManager getEntityManager(){
return emf.createEntityManager();
}
public Metodos() {
emf=Persistence.createEntityManagerFactory("Siga-CursoEJB");
}
public void salvar(UnidadeOrganizacional uo){
EntityManager em=getEntityManager();
try{
em.getTransaction().begin();
em.persist(uo);
em.getTransaction().commit();
}catch(Exception e){
em.getTransaction().rollback();
e.printStackTrace();
}finally{
em.close();
}
}
public void atualizar(UnidadeOrganizacional uo){
EntityManager em=getEntityManager();
try{
em.getTransaction().begin();
em.merge(uo);
em.getTransaction().commit();
}catch(Exception e){
em.getTransaction().rollback();
e.printStackTrace();
}finally{
em.close();
}
}
public void excluir(UnidadeOrganizacional uo){
EntityManager em=getEntityManager();
try{
em.getTransaction().begin();
uo =em.merge(uo);
em.remove(uo);
em.getTransaction().commit();
}catch(Exception e){
em.getTransaction().rollback();
e.printStackTrace();
}finally{
em.close();
}
}
public List<UnidadeOrganizacional> listarTodasUnidadeOrganizacionals(){
EntityManager em=getEntityManager();
try{
Query q=em.createQuery("select p from unidade_organizacional p");
return q.getResultList();
}finally {
em.close();
}
}
public List<UnidadeOrganizacional> listarNomeUnidadeOrganizacionals(String nomeDaUnidadeOrganizacional){
EntityManager em=getEntityManager();
try{
Query q=em.createQuery("select p from entidades.UnidadeOrganizacional unidade_organizacional p where p.nome LIKE ?1");
q.setParameter(1,nomeDaUnidadeOrganizacional);
return q.getResultList();
}finally {
em.close();
}
}
}
o metodo de inserir ta ok so oq ta pegando é o de listarTodasUnidadesOrganizacionais que da o seguinte erro
Exception in thread “main” java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unidade_organizacional is not mapped [select p from unidade_organizacional p]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:616)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:95)
at teste.Metodos.listarTodasUnidadeOrganizacionals(Metodos.java:72)
at teste.Executora.main(Executora.java:13)
Caused by: org.hibernate.hql.ast.QuerySyntaxException: unidade_organizacional is not mapped [select p from unidade_organizacional p]
at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:92)
… 2 more
meu persistence,xml
<?xml version="1.0" encoding="UTF-8"?> entidades.Curso entidades.DepartamentoResponsavel entidades.EstruturaAvaliacao entidades.EstruturaCurso entidades.EtapaAvaliacao entidades.NivelEnsino entidades.UnidadeOrganizacional <properties>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.username " value="postgres"/>
<property name="hibernate.connection.password" value="senha"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/curso"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
tenho outras classes no projeto mas to querendo fazer essa consulta pq dpois eu tenho que jogar essa consulta numa lista que vai servir para implementar o combobox numa aplicacoa jsf que estou utilizando
se alguem puder da uma luz fikariz muito agredecido
vlw