Title:
Bug 87134:-(Watson Migration Closure)On oracle, I'm encountering an error where i can't update an object which is being managed in the table per subclass with discriminator object heirarchy as described here: http://help
| View in TrackerStatus/Resolution/Reason: Closed/Won't Fix/LowImpact
Reporter/Name(from Bugbase): Jon Hirschi / Jon Hirschi (Jon Hirschi)
Created: 10/10/2011
Components: ORM Support
Versions: 9.0
Failure Type: Unspecified
Found In Build/Fixed In Build: 274733 /
Priority/Frequency: Trivial / Unknown
Locale/System: English / Mac 10 All
Vote Count: 5
Problem:
On oracle, I'm encountering an error where i can't update an object which is being managed in the table per subclass with discriminator object heirarchy as described here:
http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WS027D3772-2E98-4d5b-8800-054A62EBF8D9.html
what happens is that i can create the object and save the information to the database, however when i try to load an existing record in the database, and save any of the information, an error is thrown that indicates that there is an invalid parameter binding. what appears to be happening is that the object is ignoring any of the information being stored in the parent class and it is using the information in the sub class to update the tables from the parent class which is causing the object save to fail.
What i have been able to piece togetther is that insert works fine. if an edit happens against the same created object, (in the same orm session) the update will also work just fine. If the orm session is then closed and the object is loaded again and an update attempted, then the update will fail.
According to the logs and a dump of the object, the object is being populated correctly, ie. the object will be loaded and properties all set correctly, however it won't update the tables correctly.
I have included a sample script which causes this to fail against an Oracle 11g database.
Method:
Message.cfc
---------------
<cfcomponent table="MOBILE_MESSAGES" discriminatorColumn="MOBILE_TYPE_META_VALUE" persistent="true" extends="com.industryintel.common.Base"
rowid="MESSAGE_ID" hint="object for use with outgoing mobile messages" EntityName="Message" lazy="false" >
<cfproperty name="id" type="numeric" column="MESSAGE_ID" datatype="integer" fieldtype="id" ormtype="integer"
generator="sequence" params="{sequence='MOBILE_MESSAGES_SEQ'}" />
<cfproperty name="dateCreated" type="date" column="DATE_CREATED" datatype="timestamp" dbDefault="sysdate" fieldtype="column"/>
<cfproperty name="user" type="numeric" column="USER_ID" datatype="integer" ormtype="integer" fieldtype="column"/>
<cfproperty name="messageType" type="numeric" column="MOBILE_TYPE_META_VALUE" datatype="integer" ormtype="integer" fieldtype="column" INsert="FALSE" UPdate="false"/>
<cfproperty name="statusType" type="numeric" column="STATUS_META_VALUE" datatype="integer" ormtype="integer" fieldtype="column"/>
</cfcomponent>
-----------------
Message.hbmxml
<hibernate-mapping>
<class entity-name="Message" lazy="false"
name="cfc:com.industryintel.model.mobile.Message"
rowid="MESSAGE_ID" table="MOBILE_MESSAGES">
<id name="id" type="integer">
<column name="MESSAGE_ID"/>
<generator class="sequence">
<param name="sequence">MOBILE_MESSAGES_SEQ</param>
</generator>
</id>
<discriminator column="MOBILE_TYPE_META_VALUE"/>
<property name="dateCreated" type="java.sql.Timestamp">
<column default="sysdate" name="DATE_CREATED"/>
</property>
<property name="user" type="integer">
<column name="USER_ID" not-null="true"/>
</property>
<property insert="false" name="messageType" type="integer" update="false">
<column name="MOBILE_TYPE_META_VALUE"/>
</property>
<property name="statusType" type="integer">
<column name="STATUS_META_VALUE"/>
</property>
</class>
</hibernate-mapping>
------------------------
MessageTwitter.cfc
-----------------------
<cfcomponent displayname="MessageTwitter" output="false" extends="com.industryintel.model.mobile.Message" table="MOBILE_TWITTER" EntityName="MessageTwitter"
persistent="true" joinColumn="MESSAGE_ID" hint="object for use with sms messages" discriminatorValue="55493" lazy="false" >
<cfproperty name="screenName" type="string" column="SCREEN_NAME" datatype="varchar" length="100" required="false" fieldtype="column"/>
<cfproperty name="account" type="string" column="ACCOUNT" datatype="varchar" length="30" required="false" fieldtype="column"/>
<cfproperty name="message" type="string" column="MESSAGE" datatype="varchar" length="160" fieldtype="column" />
<cfproperty name="twitterUserId" type="numeric" column="TWITTER_ID" datatype="NUMBER" ormtype="big_decimal" length="36" fieldtype="column"/>
<cfproperty name="twitterMessageId" type="numeric" column="TWITTER_MESSAGE_ID" datatype="NUMBER" ormtype="big_decimal" length="36" fieldtype="column" update="false"/>
<cfproperty name="source" type="string" column="SOURCE" datatype="varchar" length="60" fieldtype="column"/>
<cfproperty name="twitterMessageDate" type="date" column="TWITTER_MESSAGE_DATE" datatype="timestamp" fieldtype="column"/>
</cfcomponent>
----------------------
MessageTwitter.hbmxml
----------------------
<hibernate-mapping>
<subclass discriminator-value="55493" entity-name="MessageTwitter"
extends="cfc:com.industryintel.model.mobile.Message" lazy="false" name="cfc:com.industryintel.model.mobile.MessageTwitter">
<join table="MOBILE_TWITTER">
<key column="MESSAGE_ID"/>
<property name="screenName" type="string">
<column length="100" name="SCREEN_NAME"/>
</property>
<property name="account" type="string">
<column length="30" name="ACCOUNT"/>
</property>
<property name="message" type="string">
<column length="160" name="MESSAGE"/>
</property>
<property name="twitterUserId" type="big_decimal">
<column length="36" name="TWITTER_ID"/>
</property>
<property name="twitterMessageId" type="big_decimal" update="false">
<column length="36" name="TWITTER_MESSAGE_ID"/>
</property>
<property name="source" type="string">
<column length="60" name="SOURCE"/>
</property>
<property name="twitterMessageDate" type="java.sql.Timestamp">
<column name="TWITTER_MESSAGE_DATE"/>
</property>
</join>
</subclass>
</hibernate-mapping>
-------------------
TEst.cfm
-------------------
<cfscript>
newTwitter = entityNew("MessageTwitter");
newTwitter.setDateCreated(now());
newTwitter.setScreenName("test");
newTwitter.setAccount("test");
newTwitter.setMessage("This is a test. see if you can edit this");
newTwitter.setTwitterUserId(12345);
newTwitter.setTwittermessageId(123456789);
newTwitter.setSource("TestTwitter");
newTwitter.setTwitterMessageDate(now());
newTwitter.setUser(16193);
newTwitter.setStatusType(53390);
writeDump(newTwitter);
entitySave(newTwitter);
ormflush();
newid = newTwitter.getId();
structDelete(variables,"newTwitter");
ormCloseSession();
oldTwitter = entityLoad("MessageTwitter",newid,true);
writeDump(oldTwitter);
try{
oldTwitter.setDateCreated(now());
oldTwitter.setTwitterMessageDate(now());
oldTwitter.setMessage("This is a test brand new test.");
entitySave(oldTwitter);
} catch (any e){
writedump(e);
}
</cfscript>
-------------------------------------- FROM THE LOGS --------------------------
Hibernate:
select
MOBILE_MESSAGES_SEQ.nextval
from
dual
Hibernate:
insert
into
MOBILE_MESSAGES
(DATE_CREATED, USER_ID, STATUS_META_VALUE, MOBILE_TYPE_META_VALUE, MESSAGE_ID)
values
(?, ?, ?, '55493', ?)
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '2011-10-06 17:54:05' to parameter: 1
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '16193' to parameter: 2
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '53390' to parameter: 3
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '46050' to parameter: 4
Hibernate:
insert
into
MOBILE_TWITTER
(SCREEN_NAME, ACCOUNT, MESSAGE, TWITTER_ID, TWITTER_MESSAGE_ID, SOURCE, TWITTER_MESSAGE_DATE, MESSAGE_ID)
values
(?, ?, ?, ?, ?, ?, ?, ?)
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding 'test' to parameter: 1
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding 'test' to parameter: 2
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding 'This is a test. see if you can edit this' to parameter: 3
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '12345' to parameter: 4
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '123456789' to parameter: 5
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding 'TestTwitter' to parameter: 6
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '2011-10-06 17:54:05' to parameter: 7
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '46050' to parameter: 8
Hibernate:
select
messagetwi0_.MESSAGE_ID as MESSAGE1_4349_0_,
messagetwi0_.DATE_CREATED as DATE3_4349_0_,
messagetwi0_.USER_ID as USER4_4349_0_,
messagetwi0_.MOBILE_TYPE_META_VALUE as MOBILE2_4349_0_,
messagetwi0_.STATUS_META_VALUE as STATUS5_4349_0_,
messagetwi0_1_.SCREEN_NAME as SCREEN2_4350_0_,
messagetwi0_1_.ACCOUNT as ACCOUNT4350_0_,
messagetwi0_1_.MESSAGE as MESSAGE4350_0_,
messagetwi0_1_.TWITTER_ID as TWITTER5_4350_0_,
messagetwi0_1_.TWITTER_MESSAGE_ID as TWITTER6_4350_0_,
messagetwi0_1_.SOURCE as SOURCE4350_0_,
messagetwi0_1_.TWITTER_MESSAGE_DATE as TWITTER8_4350_0_,
messagetwi0_.MESSAGE_ID as rowid_0_
from
MOBILE_MESSAGES messagetwi0_
inner join
MOBILE_TWITTER messagetwi0_1_
on messagetwi0_.MESSAGE_ID=messagetwi0_1_.MESSAGE_ID
where
messagetwi0_.MESSAGE_ID=?
and messagetwi0_.MOBILE_TYPE_META_VALUE='55493'
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '46050' to parameter: 1
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning '2011-10-06 17:54:05' as column: DATE3_4349_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning '16193' as column: USER4_4349_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning '55493' as column: MOBILE2_4349_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning '53390' as column: STATUS5_4349_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning 'test' as column: SCREEN2_4350_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning 'test' as column: ACCOUNT4350_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning 'This is a test. see if you can edit this' as column: MESSAGE4350_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning '12345' as column: TWITTER5_4350_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning '123456789' as column: TWITTER6_4350_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning 'TestTwitter' as column: SOURCE4350_0_
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - returning '2011-10-06 17:54:05' as column: TWITTER8_4350_0_
Hibernate:
update
MOBILE_MESSAGES
set
DATE_CREATED=?,
USER_ID=?,
STATUS_META_VALUE=?
where
MESSAGE_ID=?
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '2011-10-06 17:54:05' to parameter: 1
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '16193' to parameter: 2
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '53390' to parameter: 3
Hibernate:
update
MOBILE_MESSAGES
set
DATE_CREATED=?,
USER_ID=?,
STATUS_META_VALUE=?
where
MESSAGE_ID=?
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding 'test' to parameter: 1
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding 'test' to parameter: 2
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding 'This is a test brand new test.' to parameter: 3
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding '12345' to parameter: 4
10/06 17:54:05 [jrpp-229] HIBERNATE DEBUG - binding 'TestTwitter' to parameter: 5
10/06 17:54:05 [jrpp-229] HIBERNATE INFO - could not bind value 'TestTwitter' to parameter: 5; [Macromedia][Oracle JDBC Driver]Invalid parameter binding(s).
10/06 17:54:05 [jrpp-229] INFO could not bind value 'TestTwitter' to parameter: 5; [Macromedia][Oracle JDBC Driver]Invalid parameter binding(s).
10/06 17:54:05 [jrpp-229] HIBERNATE ERROR - [Macromedia][Oracle JDBC Driver]Invalid parameter binding(s).
10/06 17:54:05 [jrpp-229] ERROR [Macromedia][Oracle JDBC Driver]Invalid parameter binding(s).
10/06 17:54:05 [jrpp-229] HIBERNATE ERROR - Could not synchronize database state with session
org.hibernate.exception.SQLGrammarException: could not update: [MessageTwitter#46050]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2596)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2478)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2805)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:114)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:260)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:180)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
at coldfusion.orm.hibernate.SessionWrapper.flush(SessionWrapper.java:176)
at coldfusion.orm.hibernate.HibernateSessionManager.flushSession(HibernateSessionManager.java:217)
at coldfusion.orm.hibernate.HibernateSessionManager.flushAllCurrentSessions(HibernateSessionManager.java:271)
at coldfusion.orm.hibernate.HibernatePersistenceManager.onPageRequestEnd(HibernatePersistenceManager.java:1022)
at coldfusion.orm.hibernate.HibernatePersistenceManager$HibernateEventListener.onPageRequestEnd(HibernatePersistenceManager.java:1120)
at coldfusion.filter.ApplicationFilter.firePageRequestEnd(ApplicationFilter.java:537)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:413)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:94)
at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:200)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Caused by: java.sql.SQLException: [Macromedia][Oracle JDBC Driver]Invalid parameter binding(s).
at macromedia.jdbc.oraclebase.dda4.b(Unknown Source)
at macromedia.jdbc.oraclebase.dda4.a(Unknown Source)
at macromedia.jdbc.oraclebase.dda3.b(Unknown Source)
at macromedia.jdbc.oraclebase.dda3.a(Unknown Source)
at macromedia.jdbc.oraclebase.ddb9.a(Unknown Source)
at macromedia.jdbc.oraclebase.ddb_.setString(Unknown Source)
at macromedia.jdbc.oraclebase.ddcd.setString(Unknown Source)
at coldfusion.server.j2ee.sql.JRunPreparedStatement.setString(JRunPreparedStatement.java:232)
at org.hibernate.type.StringType.set(StringType.java:49)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:156)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)
at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2168)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2542)
... 44 more
10/06 17:54:05 [jrpp-229] ERROR Could not synchronize database state with session
org.hibernate.exception.SQLGrammarException: could not update: [MessageTwitter#46050]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2596)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2478)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2805)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:114)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:260)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:180)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
at coldfusion.orm.hibernate.SessionWrapper.flush(SessionWrapper.java:176)
at coldfusion.orm.hibernate.HibernateSessionManager.flushSession(HibernateSessionManager.java:217)
at coldfusion.orm.hibernate.HibernateSessionManager.flushAllCurrentSessions(HibernateSessionManager.java:271)
at coldfusion.orm.hibernate.HibernatePersistenceManager.onPageRequestEnd(HibernatePersistenceManager.java:1022)
at coldfusion.orm.hibernate.HibernatePersistenceManager$HibernateEventListener.onPageRequestEnd(HibernatePersistenceManager.java:1120)
at coldfusion.filter.ApplicationFilter.firePageRequestEnd(ApplicationFilter.java:537)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:413)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:94)
at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:200)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Caused by: java.sql.SQLException: [Macromedia][Oracle JDBC Driver]Invalid parameter binding(s).
at macromedia.jdbc.oraclebase.dda4.b(Unknown Source)
at macromedia.jdbc.oraclebase.dda4.a(Unknown Source)
at macromedia.jdbc.oraclebase.dda3.b(Unknown Source)
at macromedia.jdbc.oraclebase.dda3.a(Unknown Source)
at macromedia.jdbc.oraclebase.ddb9.a(Unknown Source)
at macromedia.jdbc.oraclebase.ddb_.setString(Unknown Source)
at macromedia.jdbc.oraclebase.ddcd.setString(Unknown Source)
at coldfusion.server.j2ee.sql.JRunPreparedStatement.setString(JRunPreparedStatement.java:232)
at org.hibernate.type.StringType.set(StringType.java:49)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:156)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)
at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2168)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2542)
... 44 more
Result:
Table per subclass with discriminator not updating orm managed objects properly
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3044060
External Customer Info:
External Company:
External Customer Name: Jon Hirschi
External Customer Email: 662F307B44638B0A992016B7
External Test Config: 10/10/2011
Attachments:
Comments: