java.sql.SQLException: Invalid object name 'viagem'. Problema ao utilizar JSF + JPA.

10/09/2009

Boa tarde então, estava tentando fazer um pequeno aplicativo e me deparei com o seguinte problema:

Eu tenho minha entidade

@Entity(name="viagem")
@Table(name="viagem")
public class Viagem  implements java.io.Serializable{

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="pktbsisc_viagem")
    private Integer id;
    @Column(name="ds_cidade")
    private String cidade;
    @Column(name="ds_objetivo")
    private String objetivo;
   
    @Column(name="dt_periodoinicial")
    @Temporal(TemporalType.DATE)
    private Date periodoInicial;
    @Temporal(TemporalType.DATE)
    @Column(name="dt_periodofinal")
    private Date periodoFinal;
    @Column(name="in_passagem")
    private boolean passagem;
    @Column(name="in_ajudacusto")
    private boolean ajudaDeCusto;
    @Column(name="in_diaria")
    private boolean diaria;
    @Column(name="in_coletiva")
    private boolean coletiva;
    @Column(name="vl_ajudacusto")
    private Double valorDaAjudaDeCusto;
    @Column(name="vl_diaria")
    private Double valorDaDiaria;
    @Column(name="vl_passagens")
    private Double valorDaPassagem;
   
   
    public Viagem() {
   
    }
   
    /**
     * @param id
     * @param objetivo
     * @param periodoInicial
     * @param periodoFinal
     * @param nomePessoa
     * @param passagem
     * @param ajudaDeCusto
     * @param diaria
     * @param coletiva
     * @param valorDaAjudaDeCusto
     * @param valorDaDiaria
     * @param valorDaPassagem
     */
    public Viagem(Integer id, String objetivo, Date periodoInicial,
            Date periodoFinal, String nomePessoa, boolean passagem,
            boolean ajudaDeCusto, boolean diaria, boolean coletiva,
            Double valorDaAjudaDeCusto, Double valorDaDiaria,
            Double valorDaPassagem) {
        super();
        this.id = id;
        this.objetivo = objetivo;
        this.periodoInicial = periodoInicial;
        this.periodoFinal = periodoFinal;
       
        this.passagem = passagem;
        this.ajudaDeCusto = ajudaDeCusto;
        this.diaria = diaria;
        this.coletiva = coletiva;
        this.valorDaAjudaDeCusto = valorDaAjudaDeCusto;
        this.valorDaDiaria = valorDaDiaria;
        this.valorDaPassagem = valorDaPassagem;
    }

    /**
     * @return the id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * @return the objetivo
     */
    public String getObjetivo() {
        return objetivo;
    }

    /**
     * @param objetivo the objetivo to set
     */
    public void setObjetivo(String objetivo) {
        this.objetivo = objetivo;
    }

    /**
     * @return the periodoInicial
     */
    public Date getPeriodoInicial() {
        return periodoInicial;
    }

    /**
     * @param periodoInicial the periodoInicial to set
     */
    public void setPeriodoInicial(Date periodoInicial) {
   
        this.periodoInicial = periodoInicial;
    }

    /**
     * @return the periodoFinal
     */
    public Date getPeriodoFinal() {
        return periodoFinal;
    }

    /**
     * @param periodoFinal the periodoFinal to set
     */
    public void setPeriodoFinal(Date periodoFinal) {
        this.periodoFinal = periodoFinal;
    }

   

    /**
     * @return the passagem
     */
    public boolean isPassagem() {
        return passagem;
    }

    /**
     * @param passagem the passagem to set
     */
    public void setPassagem(boolean passagem) {
        this.passagem = passagem;
    }

    /**
     * @return the ajudaDeCusto
     */
    public boolean isAjudaDeCusto() {
        return ajudaDeCusto;
    }

    /**
     * @param ajudaDeCusto the ajudaDeCusto to set
     */
    public void setAjudaDeCusto(boolean ajudaDeCusto) {
        this.ajudaDeCusto = ajudaDeCusto;
    }

    /**
     * @return the diaria
     */
    public boolean isDiaria() {
        return diaria;
    }

    /**
     * @param diaria the diaria to set
     */
    public void setDiaria(boolean diaria) {
        this.diaria = diaria;
    }

    /**
     * @return the coletiva
     */
    public boolean isColetiva() {
        return coletiva;
    }

    /**
     * @param coletiva the coletiva to set
     */
    public void setColetiva(boolean coletiva) {
        this.coletiva = coletiva;
    }

    /**
     * @return the valorDaAjudaDeCusto
     */
    public Double getValorDaAjudaDeCusto() {
        return valorDaAjudaDeCusto;
    }

    /**
     * @param valorDaAjudaDeCusto the valorDaAjudaDeCusto to set
     */
    public void setValorDaAjudaDeCusto(Double valorDaAjudaDeCusto) {
        this.valorDaAjudaDeCusto = valorDaAjudaDeCusto;
    }

    /**
     * @return the valorDaDiaria
     */
    public Double getValorDaDiaria() {
        return valorDaDiaria;
    }

    /**
     * @param valorDaDiaria the valorDaDiaria to set
     */
    public void setValorDaDiaria(Double valorDaDiaria) {
        this.valorDaDiaria = valorDaDiaria;
    }

    /**
     * @return the valorDaPassagem
     */
    public Double getValorDaPassagem() {
        return valorDaPassagem;
    }

    /**
     * @param valorDaPassagem the valorDaPassagem to set
     */
    public void setValorDaPassagem(Double valorDaPassagem) {
        this.valorDaPassagem = valorDaPassagem;
    }

   
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public String getCidade() {
        return cidade;
    }
   
    /* (non-Javadoc)
     * @see java.lang.Object#hashCode()
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((id == null) ? 0 : id.hashCode());
        return result;
    }

    /* (non-Javadoc)
     * @see java.lang.Object#equals(java.lang.Object)
     */
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Viagem other = (Viagem) obj;
        if (id == null) {
            if (other.id != null)
                return false;
        } else if (!id.equals(other.id))
            return false;
        return true;
    }


E tenho no banco a tabela viagem,

porém ta dando esse erro embaixo:



10/09/2009 13:14:39 com.sun.faces.application.ActionListenerImpl processAction
SEVERE: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
javax.faces.el.EvaluationException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    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.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:293)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
    at java.lang.Thread.run(Unknown Source)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
    at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
    at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:226)
    at br.gov.ce.srh.siscontv.model.DAO.ViagemDAO.inserirViagem(ViagemDAO.java:16)
    at br.gov.ce.srh.siscontv.MB.SolicitacaoMB.inserirViagem(SolicitacaoMB.java:29)
    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 org.apache.el.parser.AstValue.invoke(AstValue.java:172)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    ... 20 more
Caused by: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
    at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:64)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2176)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2656)
    at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
    at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
    at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
    at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
    at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
    at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:646)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:620)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:624)
    at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)
    ... 30 more
Caused by: java.sql.SQLException: Invalid object name 'viagem'.
    at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
    at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
    at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
    at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
    at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
    at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:505)
    at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)
    at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
    ... 45 more
10/09/2009 13:14:39 com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{solicitacaoMB.inserirViagem}: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
javax.faces.FacesException: #{solicitacaoMB.inserirViagem}: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    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.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:293)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
    at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.EvaluationException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    ... 19 more
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
    at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
    at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:226)
    at br.gov.ce.srh.siscontv.model.DAO.ViagemDAO.inserirViagem(ViagemDAO.java:16)
    at br.gov.ce.srh.siscontv.MB.SolicitacaoMB.inserirViagem(SolicitacaoMB.java:29)
    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 org.apache.el.parser.AstValue.invoke(AstValue.java:172)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    ... 20 more
Caused by: org.hibernate.exception.SQLGrammarException: could not insert: [br.gov.ce.srh.siscontv.model.entity.Viagem]
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
    at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:64)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2176)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2656)
    at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
    at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
    at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
    at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
    at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
    at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:646)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:620)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:624)
    at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)
    ... 30 more
Caused by: java.sql.SQLException: Invalid object name 'viagem'.
    at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
    at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
    at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
    at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
    at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
    at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:505)
    at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)
    at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
    ... 45 more
10/09/2009 13:14:39 com.sun.faces.lifecycle.Phase doPhase
SEVERE: JSF1054: (Phase ID: INVOKE_APPLICATION 5, View ID: /pages/cadSolicitacao.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@53aed4]
10/09/2009 13:14:39 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.sql.SQLException: Invalid object name 'viagem'.
    at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
    at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
    at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
    at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
    at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
    at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:505)
    at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)
    at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2176)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2656)
    at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
    at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
    at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
    at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
    at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
    at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:646)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:620)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:624)
    at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)
    at br.gov.ce.srh.siscontv.model.DAO.ViagemDAO.inserirViagem(ViagemDAO.java:16)
    at br.gov.ce.srh.siscontv.MB.SolicitacaoMB.inserirViagem(SolicitacaoMB.java:29)
    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 org.apache.el.parser.AstValue.invoke(AstValue.java:172)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    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.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:293)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
    at java.lang.Thread.run(Unknown Source)


Sabe me explicar o porque ?
Euclides Filizola

Euclides Filizola

Curtidas 0

Respostas

Henrique Weissmann

Henrique Weissmann

10/09/2009

A excessão org.hibernate.exception.SQLGrammarException é disparada quando algum dos problemas abaixo ocorre no momento de persistência ou obtenção de informações do banco de dados: * Algum campo que não exista (você pode estar por exemplo buscando ou inserindo um valor de um campo que encontra-se apenas mapeado, porém não existe na base de dados) * Especificação do campo não confere com os dados que você está enviando. Um erro muito comum costuma ser o envio de strings maiores do que o limite de tamanho especificado na tabela. * Não existência da própria tabela no banco de dados. No seu caso, esta é uma possibilidade real, vide este trecho do stack trace que você nos enviou: Caused by: java.sql.SQLException: Invalid object name 'viagem'. Nesta situação, já vi casos em que a pessoa definiu uma conexão com o banco de dados errado, resultando neste problema.
GOSTEI 0
Euclides Filizola

Euclides Filizola

10/09/2009

Aqui esta meu persiste.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="bancoLocal" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>br.gov.ce.srh.siscontv.model.entity.Usuario</class>
        <class>br.gov.ce.srh.siscontv.model.entity.Solicitacao</class>
        <class>br.gov.ce.srh.siscontv.model.entity.Viagem</class>
       
        <properties>
            <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
            <property name="hibernate.connection.username" value="postgres" />
            <property name="hibernate.connection.password" value="1234" />
            <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/SISCONTV" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
        </properties>
    </persistence-unit>
   
    <persistence-unit name="BDSERV" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>br.gov.ce.srh.siscontv.model.entity.Pessoa</class>
       
        <properties>
            <property name="hibernate.connection.driver_class" value="net.sourceforge.jtds.jdbc.Driver" />
            <property name="hibernate.connection.username" value="User_SICV" />
            <property name="hibernate.connection.password" value="systemsicv" />
            <property name="hibernate.connection.url" value="jdbc:jtds:sqlserver://172.31.128.25/bdserv;" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
        </properties>
    </persistence-unit>
   
    <persistence-unit name="BDINTR" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property name="hibernate.connection.driver_class" value="net.sourceforge.jtds.jdbc.Driver" />
            <property name="hibernate.connection.username" value="User_SICV" />
            <property name="hibernate.connection.password" value="systemsicv" />
            <property name="hibernate.connection.url" value="jdbc:jtds:sqlserver://172.31.128.25/bdintr;" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
        </properties>
    </persistence-unit>
</persistence>


e a minha tabela aqui está





sss
GOSTEI 0
Henrique Weissmann

Henrique Weissmann

10/09/2009

Bom, não possuo muita experiência no uso de Java + PostgreSQL, porém já vi algo similar acontecer em outras linguagens. No caso, pode ser que o nome da tabela esteja incongruente. Alguns drivers exigem que o nome da mesma seja precedido pelo nome do banco de dados. Tente o seguinte (é um chute): ao invés de declarar o nome da sua tabela como @Table(name="viagem") Declare-o como @Table(name="SISCONTV.viagem") No entanto, antes de fazê-lo, voce pode fazer um pequeno teste para verificar se é realmente problema no nome da tabela: caso tenha dados presentes na mesma, busque-os pelo seu código. Se retornar valores, ignore o que disse acima e passe para uma das alternativas abaixo: * Algum campo na tabela pode estar desconfigurado. Talvez as limitações do campo, como tamanho, nulidade, etc não estejam de acordo com o que voce está enviando para o SGBD, o que gera este erro. Neste caso, verifique a estrutura da tabela e compare-a com a sua classe de entidade.
GOSTEI 0
Devmedia

Devmedia

10/09/2009

Euclides,
precisamos saber em que ainda tem dúvidas para que possamos lhe ajudar da melhor forma possível.
Ficamos no aguardo.
GOSTEI 0
Euclides Filizola

Euclides Filizola

10/09/2009

Pode fechar esse post. Obrigado.
GOSTEI 0
POSTAR