Olá a todos,
estou fazendo um projetinho EJB3 e estou com problemas. Não consigo utilizar os métodos do EntityManager, pois eles lançam uma MappingException do Hibernate dizendo que a entidade é desconhecida.
No tutorial que encontrei não tinha nenhuma menção a arquivos de configuração do Hibernate. Quando subo o JBoss não é feito o binding das minhas NamedQueries. Alguém tem ideia de como solucionar?
[]'s
Fica um pouco dificil te ajudar sem ter mais informações.
mas acredito que o erro possa estar em alguma configuração errada no persistence.xml,
pois eu já vi um erro assim por não ter declarado as classes persistentes do projeto.
Se possível passe como está o seu persistence.xml e os seus entity beans,
pois iria facilitar para encontrar o erro.
Segue:
persistence.xml
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="Teste">
<provider>org.hibernate.jpa.HibernatePersistence</provider>
<jta-data-source>java:/PostgresDS</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.archive.autodetection" value="class" />
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
</persistence>
E estava usando este tutorial, que não dizia nada sobre arquivos de configuração do Hibernate.
O que estou achando estranho é que não consegui encontrar essa classe HibernatePersistence
no pacote definido org.hibernate.jpa
Que eu conheço, somente existe o org.hibernate.ejb.HibernatePersistence
No próprio site do Hibernate está definido assim
em vez de
O
é um parametro opcional,
mas normalmente eu coloco todas as classes que fazerão parte da unidade de persistencia.
<class>org.acme.Employee</class>
<class>org.acme.Person</class>
<class>org.acme.Address</class>
Tente isso e veja se funciona…
Mudei o provider e especifiquei a classe no persistence.xml, mas o erro persiste.
Uma coisa que achei estranho é que meu JBoss não está subindo nem o driver do PostgreSQL e nem as NamedQueries das entidades. Certo que tô esquecendo alguma coisa, mas não sei o que é!
[]'s
Se o driver do banco nem está sendo carregado
pelo container, então fica dificil para que seu programa consiga se conectar
no banco e fazer a camada OO no hibernate.
Eu te diria para aprender EJB, JPA a utilizar o netbeans, pois facilita
e te ajuda a evitar vários problemas e somente te deixar concentrado na tecnologia em si.
http://netbeans.org/kb/docs/javaee/javaee-entapp-ejb.html
http://netbeans.org/kb/65/javaee/
Veja como se cria um projeto simples, vendo os links do netbeans, e te diria para ir
depois e fazer novamente o projeto do link que você passou, só que no netbeans,
pois assim você teria menos dor de cabeça.