tracker issue : CF-3044060

select a category, or use search below
(searches all categories and all time range)
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 Tracker

Status/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:

This bug has been voted..
Vote by External U.
20905 | November 11, 2011 07:29:31 AM GMT
This bug has been voted..
Vote by External U.
20906 | November 11, 2011 07:29:32 AM GMT
This bug has been voted..
Vote by External U.
20907 | November 11, 2011 07:29:33 AM GMT
This bug has been voted..
Vote by External U.
20908 | November 11, 2011 07:29:34 AM GMT
This bug has been voted..
Vote by External U.
20909 | November 11, 2011 07:29:35 AM GMT