You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Manu T George (JIRA)" <de...@geronimo.apache.org> on 2005/12/16 13:40:48 UTC

[jira] Updated: (GERONIMO-1374) Open EJB does not allow the setting of a ForiegnKey that is involved in a CMR relationship

     [ http://issues.apache.org/jira/browse/GERONIMO-1374?page=all ]

Manu T George updated GERONIMO-1374:
------------------------------------

    Attachment: CMPContainerBuilder.patch
                CompoundPKTransform.patch

This Fix involves changes to two classes 
org.openejb.deployment.CMPContainerBuilder (createCMPFieldAccessors() method) and  org.tranql.ejb.CompoundPKTransform (getGlobalIdentity() method)


> Open EJB does not allow the setting of a ForiegnKey that is involved in a CMR relationship
> ------------------------------------------------------------------------------------------
>
>          Key: GERONIMO-1374
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1374
>      Project: Geronimo
>         Type: Bug
>   Components: OpenEJB
>     Versions: 1.0-M5
>  Environment: JDK 1.4.2_09 WindowsXP
>     Reporter: Manu T George
>  Attachments: CMPContainerBuilder.patch, CompoundPKTransform.patch
>
> I have two CMPs with a 1:n relationship.
> CMP1 -  Order - PK = OrderPK which has a single field orderId
> CMP2  - OrderItem = OrderItemPk which has 2 fields InventoryId and order_orderId
> OrderId and order_orderId are mapped
> When i do a setOrder_orderId in the ejbCreate of OrderItem geronimo gives an error during runtime saying cannot set read only field.
> When i don't set it geronimo says partial null key . In this case I set the cmr field in the ejbPostCreate method
>  org.tranql.identity.UndefinedIdentityException: Partial null key
>     at org.tranql.identity.DerivedIdentity.defineIdentity(DerivedIdentity.java:80)
>     at org.openejb.entity.cmp.CMPCreateMethod.execute(CMPCreateMethod.java:175)
>     at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72)
>     at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56)
>     at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81)
>     at org.openejb.entity.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:136)
>     at org.openejb.entity.cmp.InTxCacheInterceptor.invoke(InTxCacheInterceptor.java:90)
>     at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira