Prezados, boa noite! Estou enfrentando um problema quando eu tento persistir as informações no banco de dados, é apresentado esse erro no navegador: java.lang.NoClassDefFoundError: Could not initialize class br.com.brmtec.benedrinks.dao.JPAUtil Eu não estou usando Linux e sim Windows 10, e o banco de dados é o MySQL- Workbench(executável .exe). Todos os jars estão no dir : WebContent/WEB-INF/lib
- mysql-connector-java-5.1.22-bin.jar
persistence .xml
<persistence-unit name="produto" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>br.com.brmtec.benedrinks.modelo.Item</class>
<class>br.com.brmtec.benedrinks.modelo.NotaFiscal</class>
<class>br.com.brmtec.benedrinks.modelo.Produto</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/adegabene" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="admin" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect" />
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/>
<!-- JPA não deve usar bean validation -->
<property name="javax.persistence.validation.mode"
value="none" />
<!-- JPA atualiza as tabelas do banco automaticamente -->
<property
name="javax.persistence.schema-generation.database.action"
value="create-or-extend-tables" />
</properties>
</persistence-unit>
################################################################
package br.com.brmtec.benedrinks.dao;
import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;
import br.com.brmtec.benedrinks.modelo.Produto;
public class JPAUtil { public static EntityManagerFactory emf = Persistence.createEntityManagerFactory("produto");
public EntityManager getEntityManager() {
return emf.createEntityManager();
}
EntityManager manager = emf.createEntityManager();
Produto encontrada = manager.find(Produto.class, 1L);
public void close(EntityManager em) {
em.close();
}
}
##################################################
ProdutoDAO
package br.com.brmtec.benedrinks.dao;
import java.util.List;
import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaQuery;
import br.com.brmtec.benedrinks.modelo.Produto;
public class ProdutoDao {
public void adiciona(Produto produto) {
EntityManager manager = new JPAUtil().getEntityManager();
manager.getTransaction().begin();
// PERSISTE O OBJETO manager.persist(produto);
manager.getTransaction().commit();
manager.close();
}
public void remove(Produto produto) {
EntityManager manager = new JPAUtil().getEntityManager();
manager.getTransaction().begin();
manager.remove(manager.merge(produto));
manager.getTransaction().commit();
manager.close();
}
public void atualiza(Produto produto) {
EntityManager manager = new JPAUtil().getEntityManager();
manager.getTransaction().begin();
manager.merge(produto);
manager.getTransaction().commit();
manager.close();
}
public List<Produto> listaTodos(){
EntityManager manager = new JPAUtil().getEntityManager();
CriteriaQuery<Produto> query = manager.getCriteriaBuilder().createQuery(Produto.class);
query.select(query.from(Produto.class));
List<Produto> lista = manager.createQuery(query).getResultList();
manager.close();
return lista;
}
public Produto buscarPorId(Long id) {
EntityManager manager = new JPAUtil().getEntityManager();
Produto produto = manager.find(Produto.class, id);
manager.close();
return produto;
}
}