Looks like hibernate is trying to insert a string in a number field.
I executed the insert command in SLQPLUS and got the erro:
Code:
SQL> insert into documento (COD_CLI, COD_CLASSE, COD_INSTALACAO, COD_LIVRO_LEITURA, COD_LOCALIDADE,
2 COD_LOTE_FATURAMENTO, COD_MOTIVO_EXC, COD_TIPO_DOC, COD_UNID_OPER, DAT_CRIACAO_FATURA,
3 DAT_EMISSAO_FATURA, DAT_EXC, DAT_FIM_COB, DAT_INCLUSAO_REG, DAT_INI_COB, DAT_PREV_CORTE,
4 DAT_PROC_ARQ_ORG, DAT_VENCTO_FATURA, FLG_DEB_AUT, IND_CONTENCIOSO, MES_REF_FATURA, NUM_FATURA,
5 QTD_TENTATIVA, TOT_FATURA_AVISO_DEB, VLR_FATURA, INX_DOC) values
6 ('2', null, null, null, null, null, null, null, null, null, null,
7 null, null, null, null, null, null, null, null, null, null, '00012121234', null, null, '122.0',
'1');
null, null, null, null, null, null, null, null, null, null, '00012121234', null, null, '122.0', '1')
*
ERRO na linha 7:
ORA-01722: invalid number
Hibernate version: 2.1.6
Mapping documents:<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.br.resource.csu.lembranca.dao.hibernate.persisted.Documento" table="documento">
<id name="inxDoc" column="INX_DOC" type="integer">
<generator class="increment"/>
</id>
<many-to-one name="codCli" column="COD_CLI"/>
<property name="codClasse" column="COD_CLASSE"/>
<property name="codInstalacao" column="COD_INSTALACAO"/>
<property name="codLivroLeitura" column="COD_LIVRO_LEITURA"/>
<property name="codLocalidade" column="COD_LOCALIDADE"/>
<property name="codLoteFaturamento" column="COD_LOTE_FATURAMENTO"/>
<property name="codMotivoExc" column="COD_MOTIVO_EXC"/>
<property name="codTipoDoc" column="COD_TIPO_DOC"/>
<property name="codUnidOper" column="COD_UNID_OPER"/>
<property name="datCriacaoFatura" column="DAT_CRIACAO_FATURA"/>
<property name="datEmissaoFatura" column="DAT_EMISSAO_FATURA"/>
<property name="datExc" column="DAT_EXC"/>
<property name="datFimCob" column="DAT_FIM_COB"/>
<property name="datInclusaoReg" column="DAT_INCLUSAO_REG"/>
<property name="datIniCob" column="DAT_INI_COB"/>
<property name="datPrevCorte" column="DAT_PREV_CORTE"/>
<property name="datProcArqOrg" column="DAT_PROC_ARQ_ORG"/>
<property name="datVenctoFatura" column="DAT_VENCTO_FATURA"/>
<property name="flgDebAut" column="FLG_DEB_AUT"/>
<property name="indContencioso" column="IND_CONTENCIOSO"/>
<property name="mesRefFatura" column="MES_REF_FATURA"/>
<property name="numFatura" column="NUM_FATURA"/>
<property name="qtdTentativa" column="QTD_TENTATIVA"/>
<property name="totFaturaAvisoDeb" column="TOT_FATURA_AVISO_DEB"/>
<property name="vlrFatura" column="VLR_FATURA" type="float"/>
</class>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close():docCliente = new DocumentoCliente();
docCliente.setVlrDoc(docClienteFase1TO.getNumeroDocumento().trim());
docCliente.setCodDoc(docClienteFase1TO.getTipoDocumento().trim().toUpperCase());
docCliente.setCodCli(cliente);
docClienteDao.create(docCliente);
Full stack trace of any exception that occurs:Name and version of the database you are using:Oracle 8.1.7
Debug level Hibernate log excerpt:2004-08-18 11:00:55,501 INFO [STDOUT] Hibernate: insert into documento (COD_CLI, COD_CLAS
SE, COD_INSTALACAO, COD_LIVRO_LEITURA, COD_LOCALIDADE, COD_LOTE_FATURAMENTO, COD_MOTIVO_EX
C, COD_TIPO_DOC, COD_UNID_OPER, DAT_CRIACAO_FATURA, DAT_EMISSAO_FATURA, DAT_EXC, DAT_FIM_C
OB, DAT_INCLUSAO_REG, DAT_INI_COB, DAT_PREV_CORTE, DAT_PROC_ARQ_ORG, DAT_VENCTO_FATURA, FL
G_DEB_AUT, IND_CONTENCIOSO, MES_REF_FATURA, NUM_FATURA, QTD_TENTATIVA, TOT_FATURA_AVISO_DE
B, VLR_FATURA, INX_DOC) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
, ?, ?, ?, ?, ?, ?)
2004-08-18 11:00:55,501 DEBUG [net.sf.hibernate.impl.BatcherImpl] preparing statement
2004-08-18 11:00:55,502 DEBUG [net.sf.hibernate.persister.EntityPersister] Dehydrating entity: [com.br.resource.csu.lembranca.dao.hibernate.persisted.Documento#1]2004-08-18 11:00:55,502 DEBUG [net.sf.hibernate.type.IntegerType] binding '2' to parameter: 1
2004-08-18 11:00:55,502 DEBUG [net.sf.hibernate.type.StringType] binding '100' to parameter: 2
2004-08-18 11:00:55,502 DEBUG [net.sf.hibernate.type.StringType] binding null to parameter: 3
2004-08-18 11:00:55,502 DEBUG [net.sf.hibernate.type.StringType] binding null to parameter: 4
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.StringType] binding null to parameter: 5
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.StringType] binding null to parameter: 6
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.StringType] binding null to parameter: 7
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.IntegerType] binding null to parameter: 8
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.StringType] binding null to parameter: 9
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.TimestampType] binding null to parameter: 10
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.TimestampType] binding null to parameter: 11
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.TimestampType] binding null to parameter: 12
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.TimestampType] binding '2004-01-19 00:00:00' to parameter: 13
2004-08-18 11:00:55,503 DEBUG [net.sf.hibernate.type.TimestampType] binding null to parameter: 14
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.TimestampType] binding '2004-07-17 00:00:00' to parameter: 15
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.TimestampType] binding null to parameter: 16
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.TimestampType] binding null to parameter: 17
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.TimestampType] binding null to parameter: 18
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.StringType] binding 'N' to parameter: 19
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.StringType] binding null to parameter: 20
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.TimestampType] binding null to parameter: 21
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.StringType] binding '000165067366' to parameter: 22
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.IntegerType] binding null to parameter: 23
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.IntegerType] binding null to parameter: 24
2004-08-18 11:00:55,504 DEBUG [net.sf.hibernate.type.FloatType] binding '10481.0' to parameter: 25
2004-08-18 11:00:55,505 DEBUG [net.sf.hibernate.type.IntegerType] binding '1' to parameter: 26
2004-08-18 11:00:55,505 DEBUG [net.sf.hibernate.impl.BatcherImpl] Adding to batch
2004-08-18 11:00:55,505 DEBUG [net.sf.hibernate.persister.EntityPersister] Inserting entity: [com.br.resource.csu.lembranca.dao.hibernate.persisted.EnderecoCliente#1]
2004-08-18 11:00:55,505 DEBUG [net.sf.hibernate.impl.BatcherImpl] Executing batch size: 1
2004-08-18 11:00:55,511 DEBUG [net.sf.hibernate.util.JDBCExceptionReporter] SQL Exception
java.sql.BatchUpdateException: ORA-01722: invalid number
at oracle.jdbc.dbaccess.DBError.throwBatchUpdateException(DBError.java:441)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement
.java:3377)
at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:126)
at net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl.java:59)
at net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl.java:56)
at net.sf.hibernate.impl.BatcherImpl.prepareBatchStatement(BatcherImpl.java:109)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:460)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:442)
at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:29)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2371)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
at com.br.resource.csu.lembranca.dao.Dao.create(Dao.java:27)
at com.br.resource.csu.lembranca.fase1.Fase1FileProcessBean.inserirCliente(Fase1Fi
leProcessBean.java:352)
at com.br.resource.csu.lembranca.fase1.Fase1FileProcessBean.ProcessDataFase1(Fase1
FileProcessBean.java:157)
at java.lang.reflect.Method.invoke(Native Method)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSe
ssionContainer.java:683)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedC
onnectionInterceptor.java:185)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessi
onInstanceInterceptor.java:72)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.ja
va:84)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.jav
a:315)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderIn
terceptor.java:122)
at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContaine
r.java:331)
at org.jboss.ejb.Container.invoke(Container.java:723)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.
java:359)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.
java:83)
at $Proxy192.ProcessDataFase1(Unknown Source)
at com.br.resource.csu.lembranca.jmx.LembrancaService.ImportFileFase1(LembrancaSer
vice.java:66)
at java.lang.reflect.Method.invoke(Native Method)
at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
at org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:234)
at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOpByName(HtmlAdaptorServlet
.java:266)
at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet
.java:81)
at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doGet(HtmlAdaptorServlet.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil
terChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain
.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j
ava:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextVal
ve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j
ava:104)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociati
onValve.java:72)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j
ava:102)
at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrReal
m.java:275)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j
ava:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j
ava:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j
ava:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:10
9)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j
ava:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti
on(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:6
83)
at java.lang.Thread.run(Thread.java:479)
2004-08-18 11:00:55,512 WARN [net.sf.hibernate.util.JDBCExceptionReporter] SQL Error: 172
2, SQLState: 42000
2004-08-18 11:00:55,512 ERROR [net.sf.hibernate.util.JDBCExceptionReporter] ORA-01722: inv
alid number
2004-08-18 11:00:55,512 WARN [net.sf.hibernate.util.JDBCExceptionReporter] SQL Error: 172
2, SQLState: 42000
2004-08-18 11:00:55,513 ERROR [net.sf.hibernate.util.JDBCExceptionReporter] ORA-01722: inv
alid number
2004-08-18 11:00:55,513 DEBUG [net.sf.hibernate.impl.BatcherImpl] done closing: 0 open Pre
paredStatements, 0 open ResultSets
2004-08-18 11:00:55,513 DEBUG [net.sf.hibernate.impl.BatcherImpl] closing statement
2004-08-18 11:00:55,513 DEBUG [net.sf.hibernate.util.JDBCExceptionReporter] SQL Exception
java.sql.BatchUpdateException: ORA-01722: invalid number
at oracle.jdbc.dbaccess.DBError.throwBatchUpdateException(DBError.java:441)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement
.java:3377)
at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:126)
at net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl.java:59)
at net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl.java:56)
at net.sf.hibernate.impl.BatcherImpl.prepareBatchStatement(BatcherImpl.java:109)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:460)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:442)
at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:29)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2418)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2371)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
at com.br.resource.csu.lembranca.dao.Dao.create(Dao.java:27)
at com.br.resource.csu.lembranca.fase1.Fase1FileProcessBean.inserirCliente(Fase1Fi
leProcessBean.java:352)
Table description
Code:
SQL> desc documento
Nome Nulo? Tipo
----------------------------------------- -------- ----------------------
COD_TIPO_DOC NUMBER(3)
QTD_TENTATIVA NUMBER(4)
FLG_DEB_AUT CHAR(1)
DAT_FIM_COB DATE
DAT_INI_COB DATE
COD_CLASSE CHAR(3)
COD_LOCALIDADE VARCHAR2(5)
COD_LOTE_FATURAMENTO CHAR(2)
COD_INSTALACAO VARCHAR2(5)
COD_UNID_OPER VARCHAR2(5)
COD_LIVRO_LEITURA VARCHAR2(5)
DAT_EXC DATE
COD_MOTIVO_EXC CHAR(2)
DAT_CRIACAO_FATURA DATE
VLR_FATURA FLOAT(126)
DAT_VENCTO_FATURA DATE
MES_REF_FATURA DATE
NUM_FATURA VARCHAR2(12)
DAT_INCLUSAO_REG DATE
DAT_PROC_ARQ_ORG DATE
IND_CONTENCIOSO CHAR(3)
DAT_PREV_CORTE DATE
TOT_FATURA_AVISO_DEB NUMBER(3)
DAT_EMISSAO_FATURA DATE
COD_CLI NOT NULL NUMBER(10)
INX_DOC NOT NULL NUMBER(38)