Problema ao conectar banco com JSF e Hibernate

1 resposta Resolvido
jsfjavahibernate
Alexsandro_Andrade

pessoal estou com problemas ao tentar carregar o hibernate quando carrego a pagina JSF o sistema apresenta o seguinte erro

GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/projeto-jpa] threw exception [javax/persistence/Persistence] with root cause

java.lang.ClassNotFoundException: javax.persistence.Persistence

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)

at com.algaworks.cadastrocliente.HibernateUtil.(HibernateUtil.java:13)

at com.algaworks.cadastrocliente.dao.GenericDAO.(GenericDAO.java:11)

at com.algaworks.cadastrocliente.dao.UsuarioDAO.(UsuarioDAO.java:5)

at com.algaworks.cadastrocliente.controller.UsuarioMB.(UsuarioMB.java:14)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)

at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)

at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)

at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)

at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)

at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)

at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:94)

at org.apache.el.parser.AstValue.getValue(AstValue.java:137)

at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190)

at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)

at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)

at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)

at javax.faces.component.UIOutput.getValue(UIOutput.java:174)

at javax.faces.component.UIInput.getValue(UIInput.java:293)

at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)

at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)

at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)

at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)

at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)

at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)

at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)

at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)

at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)

at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Esse é o meu arquivo persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence-unit name="Clientes-PU">

org.hibernate.ejb.HibernatePersistence
com.algaworks.cadastrocliente.model.Usuario





<property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
        
    </properties>
</persistence-unit>

e essa é a classe em que acesso minha conexao

package com.algaworks.cadastrocliente;

import javax.persistence.EntityManager;

import javax.persistence.EntityManagerFactory;

import javax.persistence.Persistence;

public class HibernateUtil {

public static EntityManagerFactory factory = null;

static {
	if (factory == null) {
		factory = Persistence.createEntityManagerFactory("Clientes-PU");
	}
}

public static EntityManager getEntityManager() {

	return factory.createEntityManager();
}

public static Object getPrimaryKey(Object entity) {

	return factory.getPersistenceUnitUtil().getIdentifier(entity);
}

}

1 Resposta

J
Solucao aceita

Cara eu estou começando a estudar jpa e jsf kkk. Mas acho que vc não adicionou o jar de especificação jpa. Da pra encontrar ele aqui:
https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence/2.0.0

Estou levando isso em consideração devido a seguinte linha:

Não sei qual servidor de aplicação vc está utilizando, mas se for o tomcat vc vai ter que adicionar o jar do hibernate e os do JSF, em alguns lugares vi que o pessoal adiciona eles em uma pasta WEB-INF/lib, mas aqui no meu pc não precisei sei lá por que. Se conseguir resolver manda um feedback

Criado 19 de março de 2020
Ultima resposta 19 de mar. de 2020
Respostas 1
Participantes 2