4
respostas

Excpetion - Não consigo resolver

Me desculpem , mas não consegui resolver o problema com a ajuda das duvidas aqui existentes. Alguem poderia me ajuda?

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named financas at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) at br.com.caelum.financas.modelo.TetsteConta.main(TetsteConta.java:17)

esse é o erro q aparece

package br.com.caelum.financas.modelo;

import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;

@Entity public class Conta { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; private String titular; private String numero; private String banco; private String agencia; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTitular() { return titular; } public void setTitular(String titular) { this.titular = titular; } public String getNumero() { return numero; } public void setNumero(String numero) { this.numero = numero; } public String getBanco() { return banco; } public void setBanco(String banco) { this.banco = banco; } public String getAgencia() { return agencia; } public void setAgencia(String agencia) { this.agencia = agencia; } }

<!-- Implementação do JPA, no nosso caso Hibernate -->
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

<!-- Aqui são listadas todas as entidades -->
<class>br.com.caelum.financas.modelo.Conta</class>

<properties>    
    <!-- Propriedades JDBC -->
    <property name="javax.persistence.jdbc.driver" 
        value="com.mysql.jdbc.Driver" />

    <property name="javax.persistence.jdbc.url" 
        value="jdbc:mysql://localhost/financas" />

    <property name="javax.persistence.jdbc.user" value="root" />
    <property name="javax.persistence.jdbc.password" value="" />

    <!-- Configurações específicas do Hibernate -->
    <property name="hibernate.dialect" 
        value="org.hibernate.dialect.MySQL5InnoDBDialect" />

    <property name="hibernate.hbm2ddl.auto" value="update" />
    <property name="hibernate.show_sql" value="true" />
    <property name="hibernate.format_sql" value="true" />
</properties>
editar marcar como solução

Milton Antonio Jacintho Filho (42.2k xp, 9 posts) 2 dias atrás package br.com.caelum.financas.modelo;

import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;

public class TetsteConta { public static void main(String[] args) {

Conta conta = new Conta();
conta.setTitular("Leonardo");
conta.setBanco("Caixa Economica");
conta.setAgencia("123");
conta.setNumero("456");

EntityManagerFactory emf =  Persistence.createEntityManagerFactory("financas");
EntityManager em = emf.createEntityManager();

em.getTransaction().begin();
em.persist(conta);
em.getTransaction().commit();

em.close();
emf.close();

} }

4 respostas

Milton,

Seu arquivo persistence.xml está em src/META-INF/persistence.xml?

Sim, ele esta

Meu chute é que a vrsão do banco está incompatível com o dialect ou algo nessa linha

Eu tive problemas de exceções estranhas também com o MySQL8.

Alterei o dialeto no persistence.xml (usando o MySQL8Dialect), mas o problema continuou.

Reiniciei o serviço do MySQL8 e funcionou, sem fazer outras alterações.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software