1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problemas com hibernate caelum

Olá à todos.,

Eu estou lendo a apostila da caelum fj21 (estou nesse exercício: Exercícios: Configurando o JPA e gerando o schema do banco), no exercício quando rodo a classe GeraTabelas da esse erro:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named tarefas
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
    at br.com.caelum.tarefas.jpa.GeraTabelas.main(GeraTabelas.java:9)

Que aponta para essa linha:

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

Então comecei a pesquisar sobre o erro e tive a conclusão que algum jar estava com a versão antiga ou em falta, vendo que todos os jars, troquei o log4j-1.2.17.jar pela versão mais atualizada colocando esse três jars lá: log4j-api-2.4.1.jar, log4j-core-2.4.1.jar e log4j-web-2.4.1.jar.

E ficou o mesmo erro vindo antes um DEBUG.

Esses são os meus jars:

https://www.filepicker.io/api/file/tCduiurkSCq6YWLcymvE

O que faço?


persistence

<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_2_0.xsd"
             version="2.0">

    <persistence-unit name="tarefas">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>br.com.caelum.tarefas.modelo.Tarefa</class>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/fj21" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="senha" />

            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="update" /><!-- value="create" -->
        </properties>

    </persistence-unit>

</persistence>

log4j2

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug">
    <Properties>
        <Property name="pattern">%d{dd/MM/yyyy HH:mm:ss,SSS EEEE} %p [%-20c{1}] %m%n</Property>
        <Property name="filePath">${sys:user.home}</Property>
    </Properties>
    <Appenders>
        <RollingFile name="RollingFile"
                     fileName="${filePath}/logs/meuLog.log"
                     filePattern="${filePath}/logs/meuLog-%d{dd-MM-yyyy-HH:mm:ss}-%i.log">
            <PatternLayout pattern="${pattern}"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="20"/>
        </RollingFile>

        <Console name="Console">
            <PatternLayout pattern="${pattern}"/>
        </Console>
    </Appenders>

    <Loggers>
        <Root level="debug">
            <AppenderRef ref="RollingFile"/>
            <AppenderRef ref="Console"/>
        </Root>

          <Logger name="org.hibernate" level="debug" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="RollingFile"/>
        </Logger>
    </Loggers>

</Configuration>
  • Amigo você configurou seu persistence.xml ?

    Felipe Portela   25 de out de 2015
  • Vou editar a pergunta com ele.

    José Lucas   25 de out de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java-ee hibernate mysql ou faça a sua própria pergunta.