Problema Hibernate JPA

2 respostas
rafaelvalerini

Galera tenho a seguinte Bean anotado com JPA

package br.com.entity;

// Generated 23/09/2008 17:43:50 by Hibernate Tools 3.2.1.GA

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CustoEmpresa generated by hbm2java
 */
@Entity
@Table(name = "CUSTO_EMPRESA")
public class CustoEmpresa implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer idCustoEmpresa;
	private Empresa empresa;
	private Double vlHoraConsult;
	private Double vlHoraSac;
	private boolean fgStatus;
	private Date dtCadastro;
	private String userUltAlt;

	public CustoEmpresa() {
	}

	public CustoEmpresa(Integer idCustoEmpresa, Empresa empresa,
			Double vlHoraConsult, Double vlHoraSac, boolean fgStatus,
			Date dtCadastro, String userUltAlt) {
		this.idCustoEmpresa = idCustoEmpresa;
		this.empresa = empresa;
		this.vlHoraConsult = vlHoraConsult;
		this.vlHoraSac = vlHoraSac;
		this.fgStatus = fgStatus;
		this.dtCadastro = dtCadastro;
		this.userUltAlt = userUltAlt;
	}

	@Id
	@Column(name = "ID_CUSTO_EMPRESA", nullable = false, precision = 5, scale = 0)
	@GeneratedValue (strategy=GenerationType.AUTO, generator = "ID_CUSTO_EMPRESA")
	@SequenceGenerator (name = "ID_CUSTO_EMPRESA", sequenceName = "CUSTO_EMPRESA_SEQ")
	public Integer getIdCustoEmpresa() {
		return this.idCustoEmpresa;
	}

	public void setIdCustoEmpresa(Integer idCustoEmpresa) {
		this.idCustoEmpresa = idCustoEmpresa;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_EMPRESA", nullable = false)
	public Empresa getEmpresa() {
		return this.empresa;
	}

	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}

	@Column(name = "VL_HORA_CONSULT", nullable = false, precision = 6)
	public Double getVlHoraConsult() {
		return this.vlHoraConsult;
	}

	public void setVlHoraConsult(Double vlHoraConsult) {
		this.vlHoraConsult = vlHoraConsult;
	}

	@Column(name = "VL_HORA_SAC", nullable = false, precision = 6)
	public Double getVlHoraSac() {
		return this.vlHoraSac;
	}

	public void setVlHoraSac(Double vlHoraSac) {
		this.vlHoraSac = vlHoraSac;
	}

	@Column(name = "FG_STATUS", nullable = false, precision = 1, scale = 0)
	public boolean isFgStatus() {
		return this.fgStatus;
	}

	public void setFgStatus(boolean fgStatus) {
		this.fgStatus = fgStatus;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DT_CADASTRO", nullable = false, length = 7)
	public Date getDtCadastro() {
		return this.dtCadastro;
	}

	public void setDtCadastro(Date dtCadastro) {
		this.dtCadastro = dtCadastro;
	}

	@Column(name = "USER_ULT_ALT", nullable = false, length = 7)
	public String getUserUltAlt() {
		return this.userUltAlt;
	}

	public void setUserUltAlt(String userUltAlt) {
		this.userUltAlt = userUltAlt;
	}

}

Quanto utilizo esta classe… ou melhor o servidor tenta reconhecer a classe, esta da o seguinte erro:

14/10/2008 18:28:53 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
org.hibernate.AnnotationException: Unknown Id.generator: ID_CUSTO_EMPRESA
	at org.hibernate.cfg.BinderHelper.makeIdGenerator(BinderHelper.java:428)
	at org.hibernate.cfg.AnnotationBinder.bindId(AnnotationBinder.java:1901)
	at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1279)
	at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:754)
	at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:546)
	at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:291)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1319)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
	at br.com.unimed.cn.context.SpringContext.getSpringContext(SpringContext.java:13)
	at br.com.unimed.cn.bo.ElementoBO.<init>(ElementoBO.java:25)
	at br.com.unimed.cn.facade.SistemaFacade.<init>(SistemaFacade.java:25)
	at br.com.unimed.cn.mb.sistema.MenuMB.getHtmlToolBar(MenuMB.java:138)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
	at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:205)
	at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:211)
	at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:476)
	at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:660)
	at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1111)
	at org.apache.jsp.pages.template.menu_jsp._jspx_meth_rich_005ftoolBar_005f0(menu_jsp.java:92)
	at org.apache.jsp.pages.template.menu_jsp._jspService(menu_jsp.java:61)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
	at org.apache.jsp.pages.index_jsp._jspx_meth_h_005fform_005f0(index_jsp.java:141)
	at org.apache.jsp.pages.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:99)
	at org.apache.jsp.pages.index_jsp._jspService(index_jsp.java:63)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408)
	at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:439)
	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:114)
	at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:298)
	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
	at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:92)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)

Alguém sabe pq deu este erro?

2 Respostas

lcegatti

Ele não está encontrando o generator “ID_CUSTO_EMPRESA” do seu ID, tente alterar a ordem das anotações:

@Id  
@Column(name = "ID_CUSTO_EMPRESA", nullable = false, precision = 5, scale = 0)  
@SequenceGenerator (name = "ID_CUSTO_EMPRESA", sequenceName = "CUSTO_EMPRESA_SEQ")
@GeneratedValue (strategy=GenerationType.AUTO, generator = "ID_CUSTO_EMPRESA")

[]'s

rafaelvalerini

Puts… naum era nessa classe que estava dando erro não… e sim em outra classe…

fiz um besteira… tinha feito assim em um outro Bean:

@Id     
@Column(name = "ID_NIVEL", nullable = false, precision = 5, scale = 0)     
@GeneratedValue (strategy=GenerationType.AUTO, generator = "ID_CUSTO_EMPRESA")    
@SequenceGenerator (name = "ID_NIVEL", sequenceName = "NIVEL_SEQ")

Ai tinha dado este problema…

Foi Mau.

Criado 14 de outubro de 2008
Ultima resposta 14 de out. de 2008
Respostas 2
Participantes 2