Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

remarques

jpa

Recommended Posts

Pessoal, tou tentando fazer uma aplicação usando JSP+Servlet+JPA e não estou conseguindo fazer com que funcione.

 

Tenho todos as entidades criadas corretamente, mas tenho uma classe (que chamei de Service) associada a cada entidade, onde tenho as operações básicas no banco, usando a especificação do JPA (find(), persist(), remove(), etc).

 

Na minha classe onde eu usaria esse Service, no entanto, eu não consigo criar correo, eu não consigo criar corretamente o EntityManager, que sempre fica null.

 

O que estou fazendo de errado?

 

EntityManagerFactory emf = Persistence.createEntityManagerFactory("Teste_JPA");

EntityManager em;

 

A exception lançada é essa:

Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persistence provider for EntityManager named Teste_JPA: No META-INF/persistence.xml was found in classpath

 

Sendo que "Teste_JPA" é o meu Persistence unit, que está no persistence.xml na pasta Meta-inf (a estrutura de pastas foi inclusive criada pelo próprio netbeans).

 

Alguém ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá renata, bom seu problema se resume na falta do provider necessário para acesso ao banco de dados, posta aqui seu persistence.xml pra gente ver..

 

Obs.: Vou mover seu tópico para o sub-fórum Java web ok.

 

Grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu acho que cheguei a criá-lo. De qualquer forma, segue o persistence.xml.

 

CODE
<?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/per...0.xsd">

<persistence-unit name="SIGER_JPA" transaction-type="RESOURCE_LOCAL">

<provider>oracle.toplink.essentials.PersistenceProvider</provider>

<properties>

<property name="toplink.jdbc.user" value="root"/>

<property name="toplink.jdbc.password" value=""/>

<property name="toplink.jdbc.url" value="jdbc:mysql://localhost/SIGER"/>

<property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>

</properties>

</persistence-unit>

</persistence>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está conectando com o oracle ou com o mysql??

 

Verifique a property

 

<property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha no momento em que você cria a factory de EntityManager você indica o nome do trecho onde está o que você precisa dentro do persistence.xml

 

 

EntityManagerFactory factory = Persistence.createEntityManagerFactory("Teste_JPA");

 

 

Teste_JPA tem que ser o nome do seu persistence-unit, no caso o seu está SIGER_JPA

 

 

<persistence-unit name="SIGER_JPA" transaction-type="RESOURCE_LOCAL">

 

 

testa isso aí, espero ter ajudado ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha no momento em que você cria a factory de EntityManager você indica o nome do trecho onde esA indica o nome do trecho onde está o que você precisa dentro do persistence.xml

 

 

EntityManagerFactory factory = Persistence.createEntityManagerFactory("Teste_JPA");

 

 

Teste_JPA tem que ser o nome do seu persistence-unit, no caso o seu está SIGER_JPA

 

 

<persistence-unit name="SIGER_JPA" transaction-type="RESOURCE_LOCAL">

 

 

testa isso aí, espero ter ajudado ;)

Na verdade foi porque entre um post e outro eu mudei o nome... mas o erro não era esse. Saí do erro, não sei bem como.

De qualquer forma, obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.