Configurei o Hibernate e estou testando uma simples aplicação, o erro diz respeito ao persistence.xml.
Para criar o persistence.xml fui em new ->other->general->file. Alguém pode me ajudar:
1 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
17 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.10.Final
20 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
27 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
36 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
188 [main] INFO org.hibernate.ejb.Version - Hibernate EntityManager 3.6.10.Final
228 [main] INFO org.hibernate.ejb.Ejb3Configuration - Could not find any META-INF/persistence.xml file in the classpath
Exception in thread “main” javax.persistence.PersistenceException: No Persistence provider for EntityManager named lojavirtualDB
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
at teste.TestaInsereProduto.main(TestaInsereProduto.java:17)
Classe Produto
package entities;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Produto {
@Id
@GeneratedValue
private int id;
private String nome;
private float preco;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public float getPreco() {
return preco;
}
public void setPreco(float preco) {
this.preco = preco;
}
}
=============================================
Classe Main
package teste;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import entities.Produto;
public class TestaInsereProduto {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
EntityManagerFactory factory = Persistence.createEntityManagerFactory("lojavirtualDB");
EntityManager em = factory.createEntityManager();
Produto p = new Produto();
p.setNome("Camiseta");
p.setPreco((float) 12.23);
em.getTransaction().begin();
em.persist(p);
em.getTransaction().commit();
}
}
=================================
Persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="lojavirtualDB">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>entities.Produto</class>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="javax.persistence.jdbc.driver"
value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost/lojavirtualDB" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="root" />
</properties>
</persistence-unit>
</persistence>
============================================
log4j.properties
log4j.rootCategory=INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%r [%t] %-5p %c - %m%n
Lembrando que no banco eu tenho :
Shema : lojavirtualDB