Pessoal,
Se alguém puder quebrar um galho aí…
Estou com um erro em uma aplicação que está sendo desenvolvida para a faculdade, com JPA Toplink, mas não consigo resolver este problema:
NamedQuery of name: TcargoFuncEmpr.findAll not found.
A Query que não está sendo localizada está aqui:
@Entity
@Table(name = "tcargo_func_empr")
@NamedQueries({
@NamedQuery(name = "TcargoFuncEmpr.findByCargoFuncEmpr",
query = "SELECT t FROM TcargoFuncEmpr t WHERE t.cargoFuncEmpr = :cargoFuncEmpr"),
@NamedQuery(name = "TcargoFuncEmpr.findByDscargoFuncEmpr",
query = "SELECT t FROM TcargoFuncEmpr t WHERE t.dscargoFuncEmpr = :dscargoFuncEmpr"),
@NamedQuery(name = "TcargoFuncEmpr.findByVlrPisoSlrioCargo",
query = "SELECT t FROM TcargoFuncEmpr t WHERE t.vlrPisoSlrioCargo = :vlrPisoSlrioCargo"),
@NamedQuery(name = "TcargoFuncEmpr.findAll",
query = "SELECT t FROM TcargoFuncEmpr t ORDER BY t.cargoFuncEmpr")
})
public class TcargoFuncEmpr implements Serializable {
private static final long serialVersionUID = 1L;
O persistence.xml foi gerado automaticamente pelo NetBeans:
<?xml version="1.0" encoding="UTF-8"?>
<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="SACPU" transaction-type="RESOURCE_LOCAL">
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
<class>lib.database.TpssoaRlcndSist</class>
<class>lib.database.TcargoFuncEmpr</class>
<properties>
<property name="toplink.jdbc.user" value="root"/>
<property name="toplink.jdbc.password" value="xxxxx"/>
<property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/SAC"/>
<property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
</persistence-unit>
</persistence>
O erro ocorre no getResultList:
TcargoFuncEmpr cargo = new TcargoFuncEmpr();
EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("SACPU");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Query query = em.createNamedQuery("TcargoFuncEmpr.findAll");
try {
List resultado = query.getResultList();
O mais estranho é que, debugando o programa, descobri que quando ele cria o EntityManager (na quarta a linha do código acima), a outra classe citada no persistence.xml (TpssoaRlcndSist) é instanciada.
Diferente do cara de cima, o meu método não é estático.
Espero que tenha conseguido me fazer entender…
Valews