Dear Experts,
I have an issue with the Hibernate custom sql commands. I have the mapping
file:
*<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.gsk.europepharma.clinfit.model.entities.InputFile"
table="INPUT_FILE" schema="CLINFIT">
<id name="id">
<column name="ID" sql-type="number"
length="10" precision="0"
not-null="true"/>
<generator class="sequence">
<param name="sequence">S_INPUT_FILE</param>
</generator>
</id>
<property name="fileType">
<column name="FILE_TYPE" sql-type="varchar2"
length="20"
precision="0" not-null="true"/>
</property>
<property name="forDate">
<column name="FOR_DATE" sql-type="date"
length="7" precision="0"
not-null="true"/>
</property>
<property name="statusCode">
<column name="STATUS_CODE" sql-type="varchar2"
length="20"
precision="0" not-null="true"/>
</property>
<property name="datetimeLastProcessed">
<column name="DATETIME_LAST_PROCESSED" sql-type="date"
length="7" precision="0" not-null="false"/>
</property>
<property name="datetimeStatusLastChanged">
<column name="DATETIME_STATUS_LAST_CHANGED"
sql-type="date"
length="7" precision="0" not-null="true"/>
</property>
<property name="invalidDataMessage">
<column name="INVALID_DATA_MESSAGE"
sql-type="varchar2"
length="1000" precision="0" not-null="false"/>
</property>
<many-to-one name="country"
class="com.gsk.europepharma.clinfit.model.entities.CCountry">
<column name="COUNTRY_ID" not-null="true"/>
</many-to-one>
<!-- TODO: comment it -->
<sql-update callable="true">{ ? = call
BUSINESS_LOGIC_PKG.CHANGE_INPUT_FILE_STATUS (?, ?, ?, ?, ?, ?, ?,
?)}</sql-update>
</class>
</hibernate-mapping>*
When my objects at runtime are updated I am getting the following
Exception:
*Caused by: java.sql.SQLException: Missing IN or OUT parameter at index:: 9
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at
oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1729)
at
oracle.jdbc.driver.OraclePreparedStatement.addBatch(OraclePreparedStatement.java:10547)
at
oracle.jdbc.driver.OracleCallableStatement.addBatch(OracleCallableStatement.java:2009)
at
org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:31)
at
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2408)
... 25 more
*The update function - *BUSINESS_LOGIC_PKG.CHANGE_INPUT_FILE_STATUS *is
implemented in Oracle 10g R2. Before this I checked the order of parameters
with debuging the static queries. I went through the code and I could not
find any where registerOutputParameter invocation to the callable statement,
so the result can be consumed back to Hibernate.
Can anybody help me!
Thanks in advance!
Best regards,
Anatoli
--
Anatoli Atanasov
mobile: (+359) 888 32 06 49
--
Anatoli Atanasov
mobile: (+359) 888 32 06 49
Show replies by date