Mapeamento JPA-Hibernate usando EJB3

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 é! :frowning:

[]'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.