I'm trying to create a project with JPA + EclipseLink + mysql. After instantiating my CandidatoService, I get the following error:
com.sun.faces.mgbean.ManagedBeanCreationException: Não é possível criar instância para·a classe: bean.CandidatosBean.
at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:191)
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 com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:116)
at com.sun.el.parser.AstValue.getBase(AstValue.java:151)
at com.sun.el.parser.AstValue.getValue(AstValue.java:200)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
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.UIData.getValue(UIData.java:732)
at org.primefaces.component.api.UIData.getDataModel(UIData.java:764)
at javax.faces.component.UIData.getRowCount(UIData.java:356)
at org.primefaces.component.carousel.CarouselRenderer.encodeHeader(CarouselRenderer.java:148)
at org.primefaces.component.carousel.CarouselRenderer.encodeMarkup(CarouselRenderer.java:84)
at org.primefaces.component.carousel.CarouselRenderer.encodeEnd(CarouselRenderer.java:46)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)
at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:206)
at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:123)
at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
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.render.Renderer.encodeChildren(Renderer.java:176)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)
at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:49)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
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:458)
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.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named Votacao2018_OficialPU
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at negocio.CandidatoService.<init>(CandidatoService.java:14)
at bean.CandidatosBean.<init>(CandidatosBean.java:15)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
... 80 more
Follow my persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="Votacao2018_OficialPU" transaction-type="JTA">
<jta-data-source>jdbc/sample</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.schema-generation.database.action" value="create"/>
</properties>
</persistence-unit>
</persistence>
CandidateService:
package negocio;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.persistence.Query;
import model.Candidato;
public class CandidatoService{
EntityManager em = Persistence.createEntityManagerFactory("Votacao2018_OficialPU").createEntityManager();
public List<Candidato> buscarPresidentes(){
em.getEntityManagerFactory().getCache().evictAll();
em.clear();
Query consulta = em.createQuery("Select p from Candidato p");
List<Candidato> presidentes = consulta.getResultList();
return presidentes;
}
}
CandidateBean:
package bean;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ManagedBean;
import model.Candidato;
import negocio.CandidatoService;
@ManagedBean
@SessionScoped
public class CandidatosBean implements Serializable {
private CandidatoService cs = new CandidatoService();
private List<Candidato> listaPresidentes;
private List<Candidato> listaGovernadores = new ArrayList<>();
private List<Candidato> listaPrefeitos = new ArrayList<>();
public CandidatosBean() {
loadListaPresidentes();
loadListaGovernadores();
loadListaPrefeitos();
}
public void loadListaPresidentes() {
listaPresidentes = cs.buscarPresidentes();
}
public void loadListaGovernadores() {
}
public void loadListaPrefeitos() {
}
public List<Candidato> getListaPresidentes() {
return listaPresidentes;
}
public void setListaPresidentes(List<Candidato> listaPresidentes) {
this.listaPresidentes = listaPresidentes;
}
public List<Candidato> getListaGovernadores() {
return listaGovernadores;
}
public void setListaGovernadores(List<Candidato> listaGovernadores) {
this.listaGovernadores = listaGovernadores;
}
public List<Candidato> getListaPrefeitos() {
return listaPrefeitos;
}
public void setListaPrefeitos(List<Candidato> listaPrefeitos) {
this.listaPrefeitos = listaPrefeitos;
}
}
Candidate:
package model;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
@Entity
@Table(name = "CANDIDATO")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Candidato.findAll", query = "SELECT c FROM Candidato c")
, @NamedQuery(name = "Candidato.findByNumcandidato", query = "SELECT c FROM Candidato c WHERE c.numcandidato = :numcandidato")
, @NamedQuery(name = "Candidato.findByNome", query = "SELECT c FROM Candidato c WHERE c.nome = :nome")
, @NamedQuery(name = "Candidato.findByVice", query = "SELECT c FROM Candidato c WHERE c.vice = :vice")
, @NamedQuery(name = "Candidato.findByPartido", query = "SELECT c FROM Candidato c WHERE c.partido = :partido")
, @NamedQuery(name = "Candidato.findBySlogan", query = "SELECT c FROM Candidato c WHERE c.slogan = :slogan")
, @NamedQuery(name = "Candidato.findByVotos", query = "SELECT c FROM Candidato c WHERE c.votos = :votos")})
public class Candidato implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "NUMCANDIDATO")
private Integer numcandidato;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 80)
@Column(name = "NOME")
private String nome;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 80)
@Column(name = "VICE")
private String vice;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 5)
@Column(name = "PARTIDO")
private String partido;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 150)
@Column(name = "SLOGAN")
private String slogan;
@Column(name = "VOTOS")
private Integer votos;
public Candidato() {
}
public Candidato(Integer numcandidato) {
this.numcandidato = numcandidato;
}
public Candidato(Integer numcandidato, String nome, String vice, String partido, String slogan) {
this.numcandidato = numcandidato;
this.nome = nome;
this.vice = vice;
this.partido = partido;
this.slogan = slogan;
}
public Integer getNumcandidato() {
return numcandidato;
}
public void setNumcandidato(Integer numcandidato) {
this.numcandidato = numcandidato;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getVice() {
return vice;
}
public void setVice(String vice) {
this.vice = vice;
}
public String getPartido() {
return partido;
}
public void setPartido(String partido) {
this.partido = partido;
}
public String getSlogan() {
return slogan;
}
public void setSlogan(String slogan) {
this.slogan = slogan;
}
public Integer getVotos() {
return votos;
}
public void setVotos(Integer votos) {
this.votos = votos;
}
@Override
public int hashCode() {
int hash = 0;
hash += (numcandidato != null ? numcandidato.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Candidato)) {
return false;
}
Candidato other = (Candidato) object;
if ((this.numcandidato == null && other.numcandidato != null) || (this.numcandidato != null && !this.numcandidato.equals(other.numcandidato))) {
return false;
}
return true;
}
@Override
public String toString() {
return "model.Candidato[ numcandidato=" + numcandidato + " ]";
}
}
I'm already breaking my head a long time with these errors when integrating with the database. I'm using a project that my teacher did as a base, I did basically everything the same, his works and mine does not. Any help will be appreciated!