Estou gerando tabela atraves do hibernate porém está me dando um erro:
Exception in thread “main” javax.persistence.PersistenceException: No Persistence provider for EntityManager named jpa_hibernate
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at br.com.junior.jpa.hibernate.GenerateDatabase.main(GenerateDatabase.java:12)
vc inseriu os jars do toplink, hibernate kodo ou qqer outro nas libraries do projeto?
vjfenix
sim, eu add os jars do hibernate-3.2, hibernate-annotations-3.2.1.GA e hibernate-entitymanager-3.3.1.GA
rafaelglauber
Já criou seu persistence.xml e colocou no seu classpath??? caso tenha criado e colocado na RAIZ do seu class path, e nao em uma package, posta ele ai para darmos uma olhada.
vjfenix
Olá Rafael,
Não entendi quando você falou para colocar no meu raiz… mas de qualquer forma segue código:
public static void main(String[] args) {
EntityManagerFactory efm = Persistence.createEntityManagerFactory("jpa_hibernate");
EntityManager em = efm.createEntityManager();
em.close();
efm.close();
}
}
vjfenix
Desculpe… mas eu não coloquei o erro que está dando agora:
Exception in thread “main” javax.persistence.PersistenceException: No Persistence provider for EntityManager named jpa_hibernateat javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)at br.com.junior.jpa.hibernate.GenerateDatabase.main(GenerateDatabase.java:11)22:50:31,343 INFO Version:15 - Hibernate Annotations 3.3.0.GA22:50:31,359 INFO Environment:514 - Hibernate 3.2.522:50:31,375 INFO Environment:547 - hibernate.properties not found22:50:31,375 INFO Environment:681 - Bytecode provider name : cglib22:50:31,375 INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling22:50:31,484 INFO Version:15 - Hibernate EntityManager 3.3.1.GA22:50:31,515 INFO Ejb3Configuration:210 - Could not find any META-INF/persistence.xml file in the classpath
rafaelglauber
coloque seus arquivos xmls (persistence.xml e outros) na raiz do SRC…não coloque em nenhuma package ou outra pasta, era isso que queria dizer, esse último erro é justamente corrigido assim.
vjfenix
Rafael,
Ainda está dando o mesmo erro… cara eu acho que ainda estou fz errado… vc pode me ajudar mais uma vez
até
rafaelglauber
Posso, me diga qual IDE você tá usando e te falo o que deve fazer exatamente.
bland
Acho que você está errando na chamada do seu EntityManager. No seu persistence.xml vc utiliza o jpa-hibernate, e na sua classe você está utilizando jpa_hibernate. Verifique isso.
Abraço.
rafaelglauber
não tinha me atentado para isso, mas de qualquer forma tem que fazer as duas coisas, tanto colocar corretamento o persistence.xml no raiz classpath e fazer o que o camarada falou, corrigir a chamada.
vjfenix
bland:
Acho que você está errando na chamada do seu EntityManager. No seu persistence.xml vc utiliza o jpa-hibernate, e na sua classe você está utilizando jpa_hibernate. Verifique isso.
Abraço.
Rafael,
Estou usanso o Eclipse…
Abraço
rafaelglauber
Na pasta “src” coloque o seu arquivo persistence.xml, nao coloque ele em nenhuma subpasta.
ps. já fez o que o amigo falou? corrigir o nome do seu PU?
vjfenix
bland:
Acho que você está errando na chamada do seu EntityManager. No seu persistence.xml vc utiliza o jpa-hibernate, e na sua classe você está utilizando jpa_hibernate. Verifique isso.
Abraço.
bland
Realmente estava errado… mas mesmo assim continua com problema… cara eu acho que o Rafael tem razaão quendo ele diz do persistence.xml porém não sei como fz isso
tem o passo-a-passso justamente usando eclipse, depois de ver ele te digo, será impossível que seu programa não rode de acordo com as instruções dele.
espero ter ajudado.
Valeu…
leandros
Cara o que tá faltando é uma tag chamada provider que fica no persistence.xml.
Lembrando que o persistence.xml tem que ficar na pasta META-INF dentro do seu diretório src.
Exemplo da tag que eu mencionei…
org.hibernate.ejb.HibernatePersistence
Esse provider é o do Hibernate, verifique qual provider vc deseja usar para o Toplink.
tem o passo-a-passso justamente usando eclipse, depois de ver ele te digo, será impossível que seu programa não rode de acordo com as instruções dele.
espero ter ajudado.
Rafael, Blz!!
Cara dei uma olhada lá e consegui tirar umas duvidas… agora referente aquele erro eu acho que o problema está no persistence.xml acredito que ele não está reconhecendo esse arquivo… lá no screencast o xml fica de uma outra cor … você pode me ajudar mais uma vez…
rafaelglauber
não entendi? o que isso tem haver?
vjfenix
não entendi? o que isso tem haver?
Cara… na verdade é que já tentei de tudo e não da certo… acho que viajei nessa… mas fiz da mesma forma que o screecast … e infelizmente não adianatou continua dando erro:
Exception in thread “main” javax.persistence.PersistenceException: No Persistence provider for EntityManager named jpa_hibernate
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at br.com.junior.jpa.hibernate.GenerateDatabase.main(GenerateDatabase.java:11)
você não teria uma exemplo ai com você pra mim rodar aqui e comparar …??
Obrigado pela atenção
rafaelglauber
posta ai usando “quote” o seu persistence.xml novamente.
mas vamos lá, em <persistence-unit name="jpa-hibernate">
coloque: <persistence-unit name="jpa_hibernate">
vjfenix
rafaelglauber:
perdão, eu disse Quote e era Code…hahahah
mas vamos lá, em <persistence-unit name="jpa-hibernate">
coloque: <persistence-unit name="jpa_hibernate">
Rafael, Bom Dia!!!
Cara fiz a auteração e agora está dando o erro abaixo:
Exception in thread “main” javax.persistence.PersistenceException: No Persistence provider for EntityManager named jpa_hibernateat javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)at br.com.junior.jpa.hibernate.GenerateDatabase.main(GenerateDatabase.java:13)06:27:34,359 INFO Version:15 - Hibernate Annotations 3.3.0.GA06:27:34,390 INFO Environment:514 - Hibernate 3.2.506:27:34,390 INFO Environment:547 - hibernate.properties not found06:27:34,406 INFO Environment:681 - Bytecode provider name : cglib06:27:34,406 INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling06:27:34,500 INFO Version:15 - Hibernate EntityManager 3.3.1.GA06:27:34,531 INFO Ejb3Configuration:210 - Could not find any META-INF/persistence.xml file in the classpath
rafaelglauber
Esse erro é de configuração, já verificamos todos os pontos com relação a configuração do seu programa…se o seu programa for somente para estudo manda o projeto para meu email que quando tiver tempo verifico o motivo de não funcionar.
vjfenix
rafaelglauber:
Esse erro é de configuração, já verificamos todos os pontos com relação a configuração do seu programa…se o seu programa for somente para estudo manda o projeto para meu email que quando tiver tempo verifico o motivo de não funcionar.
Ok
rafaelglauber
<?xml version="1.0" encoding="UTF-8"?><persistenceversion="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-unitname="jpa_hibernate"transaction-type="RESOURCE_LOCAL"><provider>org.hibernate.ejb.HibernatePersistence</provider><class>br.com.junior.jpa.hibernate.User</class><exclude-unlisted-classes>false</exclude-unlisted-classes><properties><propertyname="hibernate.show_sql"value="true"/><!-- cuidado com essa propriedade, pesquise sobre ela --><propertyname="hibernate.hbm2ddl.auto"value="create"/><propertyname="hibernate.query.substitutions"value="true=1, false=0"/><propertyname="hibernate.connection.url"value="jdbc:mysql://localhost/jpa_hibernate"/><propertyname="hibernate.connection.username"value="root"/><propertyname="hibernate.connection.password"value=""/><propertyname="hibernate.connection.driver_class"value="com.mysql.jdbc.Driver"/><propertyname="hibernate.dialect"value="org.hibernate.dialect.MySQLDialect"/><propertyname="hibernate.cache.provider_class"value="org.hibernate.cache.NoCacheProvider"/></properties></persistence-unit></persistence>
vjfenix
rafaelglauber:
<?xml version="1.0" encoding="UTF-8"?><persistenceversion="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-unitname="jpa_hibernate"transaction-type="RESOURCE_LOCAL"><provider>org.hibernate.ejb.HibernatePersistence</provider><class>br.com.junior.jpa.hibernate.User</class><exclude-unlisted-classes>false</exclude-unlisted-classes><properties><propertyname="hibernate.show_sql"value="true"/><!-- cuidado com essa propriedade, pesquise sobre ela --><propertyname="hibernate.hbm2ddl.auto"value="create"/><propertyname="hibernate.query.substitutions"value="true=1, false=0"/><propertyname="hibernate.connection.url"value="jdbc:mysql://localhost/jpa_hibernate"/><propertyname="hibernate.connection.username"value="root"/><propertyname="hibernate.connection.password"value=""/><propertyname="hibernate.connection.driver_class"value="com.mysql.jdbc.Driver"/><propertyname="hibernate.dialect"value="org.hibernate.dialect.MySQLDialect"/><propertyname="hibernate.cache.provider_class"value="org.hibernate.cache.NoCacheProvider"/></properties></persistence-unit></persistence>
Rafael,
O Arquivo está na raiz mesmo??
Valeu
vjfenix
rafaelglauber:
<?xml version="1.0" encoding="UTF-8"?><persistenceversion="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-unitname="jpa_hibernate"transaction-type="RESOURCE_LOCAL"><provider>org.hibernate.ejb.HibernatePersistence</provider><class>br.com.junior.jpa.hibernate.User</class><exclude-unlisted-classes>false</exclude-unlisted-classes><properties><propertyname="hibernate.show_sql"value="true"/><!-- cuidado com essa propriedade, pesquise sobre ela --><propertyname="hibernate.hbm2ddl.auto"value="create"/><propertyname="hibernate.query.substitutions"value="true=1, false=0"/><propertyname="hibernate.connection.url"value="jdbc:mysql://localhost/jpa_hibernate"/><propertyname="hibernate.connection.username"value="root"/><propertyname="hibernate.connection.password"value=""/><propertyname="hibernate.connection.driver_class"value="com.mysql.jdbc.Driver"/><propertyname="hibernate.dialect"value="org.hibernate.dialect.MySQLDialect"/><propertyname="hibernate.cache.provider_class"value="org.hibernate.cache.NoCacheProvider"/></properties></persistence-unit></persistence>
Quer dizer .. estava
vjfenix
rafaelglauber:
<?xml version="1.0" encoding="UTF-8"?><persistenceversion="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-unitname="jpa_hibernate"transaction-type="RESOURCE_LOCAL"><provider>org.hibernate.ejb.HibernatePersistence</provider><class>br.com.junior.jpa.hibernate.User</class><exclude-unlisted-classes>false</exclude-unlisted-classes><properties><propertyname="hibernate.show_sql"value="true"/><!-- cuidado com essa propriedade, pesquise sobre ela --><propertyname="hibernate.hbm2ddl.auto"value="create"/><propertyname="hibernate.query.substitutions"value="true=1, false=0"/><propertyname="hibernate.connection.url"value="jdbc:mysql://localhost/jpa_hibernate"/><propertyname="hibernate.connection.username"value="root"/><propertyname="hibernate.connection.password"value=""/><propertyname="hibernate.connection.driver_class"value="com.mysql.jdbc.Driver"/><propertyname="hibernate.dialect"value="org.hibernate.dialect.MySQLDialect"/><propertyname="hibernate.cache.provider_class"value="org.hibernate.cache.NoCacheProvider"/></properties></persistence-unit></persistence>
Rafael, Blz!!!!
Cara no META-INF somente vai ficar o persistence.xml??