These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Problem with optimistic-lock=false on property?
PostPosted: Thu May 26, 2005 4:30 pm 
Newbie

Joined: Thu Dec 16, 2004 12:27 pm
Posts: 7
Location: Long Island
I think I may have run into a bug. I have an entity mapped with optimistic-lock="all" and one property excluded with optimistic-lock="false". When flush is called, I get an exception that 'ORA-01006: bind variable does not exist'. Looking at the log(see below), I can see that hibernate is attempting to bind an extra parameter. When I set optimistic-lock=true on the property, the problem disappears. Is it correct that you should be able to exclude a property from the optimistic locking check in this way?


Hibernate version:

3.0.1 and 3.0.5

Mapping documents:

<hibernate-mapping>

<class
name="org.aps.eop.model.manuscript.Manuscript"
table="MANUSCRIPT"
schema="MANUSCRIPTS"
lazy="true"
dynamic-update="true"
optimistic-lock="all"
>
......

<property
name="lastUpdated"
type="java.util.Date"
update="true"
insert="true"
column="LAST_UPDATED"
optimistic-lock="false" />

</class>

Name and version of the database you are using:

Oracle 9i

Debug level Hibernate log excerpt:

Hibernate: update MANUSCRIPT set PAGE_CNT=? where MANUSCRIPT_ID=? and accode=? and NEXT_EVENT_NUMBER=? and TRANSFER_CODE is null and MAJOR_STATUS=? and TITLE=? and RECEIVED_DATE=? and REVISED_RECVD is null and NEW_RECVD is null and FIGURE_CNT=? and TABLE_CNT=? and PAGE_CNT=? and COLLABORATION is null and CORRESP_AUTHOR=? and REPRINTS is null and MAJ_STAT_DATE is null and DELETED=? and TESTMS=? and PUBLISH_DATA_ID=? and JOURNAL_ID=? and EDITOR_ID=? and SECTION_ID=?
DEBUG org.hibernate.jdbc.AbstractBatcher (getPreparedStatement) - preparing statement
DEBUG org.hibernate.persister.entity.BasicEntityPersister (dehydrate) - Dehydrating entity: [org.aps.eop.model.manuscript.Manuscript#354603]
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '12' to parameter: 1
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '354603' to parameter: 2
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding 'CNR802' to parameter: 3
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '50' to parameter: 4
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding 'VP' to parameter: 5
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding 'Strong resonances in elastic scattering of radioactive $"" sup 21_Na on protons' to parameter: 6
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '2002-01-09 00:00:00' to parameter: 7
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '2' to parameter: 8
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '1' to parameter: 9
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '11' to parameter: 10
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '2' to parameter: 11
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding 'false' to parameter: 12
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding 'false' to parameter: 13
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '240376' to parameter: 14
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '3' to parameter: 15
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '73' to parameter: 16
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '664' to parameter: 17
DEBUG org.hibernate.type.NullableType (nullSafeSet) - binding '2003-10-28 08:03:05' to parameter: 18
DEBUG org.hibernate.jdbc.AbstractBatcher (logClosePreparedStatement) - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
DEBUG org.hibernate.jdbc.AbstractBatcher (closePreparedStatement) - closing statement
DEBUG org.hibernate.util.JDBCExceptionReporter (logExceptions) - could not update: [org.aps.eop.model.manuscript.Manuscript#354603] [update MANUSCRIPT set PAGE_CNT=? where MANUSCRIPT_ID=? and accode=? and NEXT_EVENT_NUMBER=? and TRANSFER_CODE is null and MAJOR_STATUS=? and TITLE=? and RECEIVED_DATE=? and REVISED_RECVD is null and NEW_RECVD is null and FIGURE_CNT=? and TABLE_CNT=? and PAGE_CNT=? and COLLABORATION is null and CORRESP_AUTHOR=? and REPRINTS is null and MAJ_STAT_DATE is null and DELETED=? and TESTMS=? and PUBLISH_DATA_ID=? and JOURNAL_ID=? and EDITOR_ID=? and SECTION_ID=?]
java.sql.SQLException: ORA-01006: bind variable does not exist

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1094)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2132)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2877)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
at org.hibernate.persister.entity.BasicEntityPersister.update(BasicEntityPersister.java:1976)
at org.hibernate.persister.entity.BasicEntityPersister.updateOrInsert(BasicEntityPersister.java:1899)
at org.hibernate.persister.entity.BasicEntityPersister.update(BasicEntityPersister.java:2139)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:75)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:223)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:137)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:678)
at org.aps.eop.util.BaseIntegrationTestCase.flushSession(BaseIntegrationTestCase.java:240)
at org.aps.eop.dao.hibernate.ManuscriptDAOImplTest.testUpdatedManuscript(ManuscriptDAOImplTest.java:150)


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.