Pessoal,
Estou com um problema ao utilizar o JPA. Tenho uma aplicação web que faz uso de um .jar, que contem as classes de entidade (Entity). O arquivo META-INF/persistence.xml está da seguinte forma:
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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"
version="1.0">
<persistence-unit name="dbpd_pu" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.username" value="usr"/>
<property name="hibernate.connection.password" value="pwd"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://sv-repositorio/dbds_utf8"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="none"/> <!-- create-drop, create, update -->
</properties>
</persistence-unit>
</persistence>
Ao criar o EntityManagerFactory conforme abaixo, ele fornece um erro dizendo que não está encontrando as classes de Entidade. Será que ele não está encontrando as classes porque está dentro do jar, que se encontra no classpath? Ou para este caso eu deveria fazer a referência manual dentro do persistence.xml com as tags nome da classe . Alguem já passou por este problema, e poderia me ajudar?
Agradeço a ajuda!
EntityManagerFactory emf = Persistence.createEntityManagerFactory("dbpd_pu");
EntityManager entityManager = emf.createEntityManager();
.....
GenericDAO<Cidade, Integer> cbd = daoFactory.getCidadeDAO();
Cidade cidadeOrigem = cbd.getById(25);
Quando ele tenta obter a cidade pelo entityManager, que está encapsulado no DAO, o seguinte erro é exibido:
java.lang.IllegalArgumentException: Unknown entity: com.teste.home.model.endereco.Cidade
Jukinha!