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 George <ma...@gmail.com> on 2005/12/15 12:06:29 UTC

Another OpenEJB Question

Hi,

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)

Am I doing anything wrong here?

Regards
Manu

Re: Another OpenEJB Question

Posted by Manu George <ma...@gmail.com>.
Hi Gianny,

 Here is the stack trace

javax.ejb.TransactionRolledbackLocalException
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:123)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.EntityEJBLocalHome$$EnhancerByCGLIB$$de2bb8cd.create
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean.ejbPostCreate(
OrderBean.java:149
)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean$$FastClassByCGLIB$$dd201924.invo
ke(<generated>)
        at org.openejb.entity.cmp.CMPCreateMethod.execute(
CMPCreateMethod.java:213)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.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)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.EntityEJBLocalHome$$EnhancerByCGLIB$$f4fbd842.create
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.ShoppingCartBean.createOrder
(ShoppingCartB
ean.java:278)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.ShoppingCartBean$$FastClassByCGLIB$$c0e26c
b2.invoke(<generated>)
        at org.openejb.dispatch.AbstractMethodOperation.invoke(
AbstractMethodOperation.java:90)
        at org.openejb.sfsb.BusinessMethod.execute(BusinessMethod.java:66)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.java:56)
        at org.openejb.ConnectionTrackingInterceptor.invoke(
ConnectionTrackingInterceptor.java:81)
        at org.openejb.sfsb.StatefulInstanceInterceptor.invoke(
StatefulInstanceInterceptor.java:115)

        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:140)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.SessionEJBObject$$EnhancerByCGLIB$$1c84a98.createOrder
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebspherewar.ShoppingServlet.performTask
(ShoppingServle
t.java:388)
        at
com.ibm.websphere.samples.plantsbywebspherewar.ShoppingServlet.doPost(
ShoppingServlet.jav
a:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(
JettyServletHolder.java:99)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java
:170)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(
WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(
SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: javax.ejb.EJBException: cmp-field [order_orderID] is read-only.
        at org.tranql.ejb.ReadOnlyCMPFieldAccessor.set(
ReadOnlyCMPFieldAccessor.java:44)
        at org.openejb.entity.cmp.CMPSetter.invokeInstance(CMPSetter.java
:74)
        at org.openejb.entity.cmp.CMPMethodInterceptor.intercept(
CMPMethodInterceptor.java:75)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean$$EnhancerByCGLIB$$c47218c9.s
etOrder_orderID(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean.ejbCreate(
OrderItemBean.java
:55)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean$$FastClassByCGLIB$$a6f16cd7
.
invoke(<generated>)
        at org.openejb.entity.cmp.CMPCreateMethod.execute(
CMPCreateMethod.java:149)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.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)
        ... 54 more
17:48:57,456 WARN  [SystemExceptionInterceptor] Order
javax.ejb.TransactionRolledbackLocalException
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:123)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.EntityEJBLocalHome$$EnhancerByCGLIB$$f4fbd842.create
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.ShoppingCartBean.createOrder
(ShoppingCartB
ean.java:278)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.ShoppingCartBean$$FastClassByCGLIB$$c0e26c
b2.invoke(<generated>)
        at org.openejb.dispatch.AbstractMethodOperation.invoke(
AbstractMethodOperation.java:90)
        at org.openejb.sfsb.BusinessMethod.execute(BusinessMethod.java:66)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.java:56)
        at org.openejb.ConnectionTrackingInterceptor.invoke(
ConnectionTrackingInterceptor.java:81)
        at org.openejb.sfsb.StatefulInstanceInterceptor.invoke(
StatefulInstanceInterceptor.java:115)

        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:140)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.SessionEJBObject$$EnhancerByCGLIB$$1c84a98.createOrder
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebspherewar.ShoppingServlet.performTask
(ShoppingServle
t.java:388)
        at
com.ibm.websphere.samples.plantsbywebspherewar.ShoppingServlet.doPost(
ShoppingServlet.jav
a:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(
JettyServletHolder.java:99)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java
:170)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(
WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(
SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: javax.ejb.EJBException:
javax.ejb.TransactionRolledbackLocalException
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean.ejbPostCreate(
OrderBean.java:160
)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean$$FastClassByCGLIB$$dd201924.invo
ke(<generated>)
        at org.openejb.entity.cmp.CMPCreateMethod.execute(
CMPCreateMethod.java:213)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.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)
        ... 40 more
Caused by: javax.ejb.TransactionRolledbackLocalException
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:123)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.EntityEJBLocalHome$$EnhancerByCGLIB$$de2bb8cd.create
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean.ejbPostCreate(
OrderBean.java:149
)
        ... 48 more
Caused by: javax.ejb.EJBException: cmp-field [order_orderID] is read-only.
        at org.tranql.ejb.ReadOnlyCMPFieldAccessor.set(
ReadOnlyCMPFieldAccessor.java:44)
        at org.openejb.entity.cmp.CMPSetter.invokeInstance(CMPSetter.java
:74)
        at org.openejb.entity.cmp.CMPMethodInterceptor.intercept(
CMPMethodInterceptor.java:75)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean$$EnhancerByCGLIB$$c47218c9.s
etOrder_orderID(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean.ejbCreate(
OrderItemBean.java
:55)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean$$FastClassByCGLIB$$a6f16cd7
.
invoke(<generated>)
        at org.openejb.entity.cmp.CMPCreateMethod.execute(
CMPCreateMethod.java:149)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.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)
        ... 54 more
17:48:57,496 WARN  [Transaction] Error ending association for XAResource
org.apache.geronimo.transac
tion.manager.WrapperNamedXAResource@6355af; transaction will roll back. XA
error code: 100
javax.transaction.xa.XAException
        at org.apache.derby.jdbc.EmbedXAConnection.end(Unknown Source)
        at
org.apache.geronimo.transaction.manager.WrapperNamedXAResource.end
(WrapperNamedXAResource
.java:51)
        at
org.apache.geronimo.transaction.manager.TransactionImpl.endResources(
TransactionImpl.java
:524)
        at
org.apache.geronimo.transaction.manager.TransactionImpl.endResources(
TransactionImpl.java
:503)
        at org.apache.geronimo.transaction.manager.TransactionImpl.rollback(
TransactionImpl.java:444
)
        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback
(TransactionManage
rImpl.java:155)
        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl$$FastClassByCGLIB$$14ee5fe
0.invoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(
FastMethodInvoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(
GBeanOperation.java:118)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(
GBeanInstance.java:800)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(
RawInvoker.java:57)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(
RawOperationInvoker.java:36)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
(ProxyMethodInterceptor.
java:96)
        at
org.apache.geronimo.transaction.ExtendedTransactionManager$$EnhancerByCGLIB$$4429b7ac.rol
lback(<generated>)
        at
org.apache.geronimo.transaction.context.InheritableTransactionContext.isRolledback
(Inheri
tableTransactionContext.java:283)
        at
org.apache.geronimo.transaction.context.InheritableTransactionContext.complete
(Inheritabl
eTransactionContext.java:171)
        at
org.apache.geronimo.transaction.context.InheritableTransactionContext.commit
(InheritableT
ransactionContext.java:146)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:152)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.SessionEJBObject$$EnhancerByCGLIB$$1c84a98.createOrder
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebspherewar.ShoppingServlet.performTask
(ShoppingServle
t.java:388)
        at
com.ibm.websphere.samples.plantsbywebspherewar.ShoppingServlet.doPost(
ShoppingServlet.jav
a:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(
JettyServletHolder.java:99)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java
:170)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(
WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(
SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
17:48:57,496 WARN  [SystemExceptionInterceptor] ShoppingCart
javax.ejb.TransactionRolledbackLocalException
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:123)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.EntityEJBLocalHome$$EnhancerByCGLIB$$f4fbd842.create
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.ShoppingCartBean.createOrder
(ShoppingCartB
ean.java:278)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.ShoppingCartBean$$FastClassByCGLIB$$c0e26c
b2.invoke(<generated>)
        at org.openejb.dispatch.AbstractMethodOperation.invoke(
AbstractMethodOperation.java:90)
        at org.openejb.sfsb.BusinessMethod.execute(BusinessMethod.java:66)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.java:56)
        at org.openejb.ConnectionTrackingInterceptor.invoke(
ConnectionTrackingInterceptor.java:81)
        at org.openejb.sfsb.StatefulInstanceInterceptor.invoke(
StatefulInstanceInterceptor.java:115)

        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:140)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.SessionEJBObject$$EnhancerByCGLIB$$1c84a98.createOrder
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebspherewar.ShoppingServlet.performTask
(ShoppingServle
t.java:388)
        at
com.ibm.websphere.samples.plantsbywebspherewar.ShoppingServlet.doPost(
ShoppingServlet.jav
a:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(
JettyServletHolder.java:99)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java
:170)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(
WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(
SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: javax.ejb.EJBException:
javax.ejb.TransactionRolledbackLocalException
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean.ejbPostCreate(
OrderBean.java:160
)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean$$FastClassByCGLIB$$dd201924.invo
ke(<generated>)
        at org.openejb.entity.cmp.CMPCreateMethod.execute(
CMPCreateMethod.java:213)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.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)
        ... 40 more
Caused by: javax.ejb.TransactionRolledbackLocalException
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
ContainerPolicy.java:123)
        at org.openejb.transaction.TransactionContextInterceptor.invoke
(TransactionContextIntercepto
r.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(
SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java
:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(
EJBMethodInterceptor.java:129)
        at
org.openejb.proxy.EntityEJBLocalHome$$EnhancerByCGLIB$$de2bb8cd.create
(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean.ejbPostCreate(
OrderBean.java:149
)
        ... 48 more
Caused by: javax.ejb.EJBException: cmp-field [order_orderID] is read-only.
        at org.tranql.ejb.ReadOnlyCMPFieldAccessor.set(
ReadOnlyCMPFieldAccessor.java:44)
        at org.openejb.entity.cmp.CMPSetter.invokeInstance(CMPSetter.java
:74)
        at org.openejb.entity.cmp.CMPMethodInterceptor.intercept(
CMPMethodInterceptor.java:75)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean$$EnhancerByCGLIB$$c47218c9.s
etOrder_orderID(<generated>)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean.ejbCreate(
OrderItemBean.java
:55)
        at
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean$$FastClassByCGLIB$$a6f16cd7
.
invoke(<generated>)
        at org.openejb.entity.cmp.CMPCreateMethod.execute(
CMPCreateMethod.java:149)
        at org.openejb.dispatch.DispatchInterceptor.invoke(
DispatchInterceptor.java:72)
        at
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke
(ComponentContextInterc
eptor.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)
        ... 54 more
17:48:58,047 WARN  [ServletHttpResponse] EXCEPTION
org.apache.jasper.JasperException
        at org.apache.jasper.servlet.JspServletWrapper.service(
JspServletWrapper.java:370)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(
JspServlet.java:314)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(
JettyServletHolder.java:99)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java
:170)
        at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
(WebApplicationHandle
r.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
:283)
        at org.mortbay.jetty.servlet.Dispatcher.error(Dispatcher.java:179)
        at org.mortbay.jetty.servlet.ServletHttpResponse.sendError(
ServletHttpResponse.java:415)
        at org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:611)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(
WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(
SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)


I am putting the relevant parts of the plan below

ejb-jar.xml

   <entity id="Order">
            <description>Order entity bean</description>
            <ejb-name>Order</ejb-name>
            <local-home>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderHome</local-home>
            <local>com.ibm.websphere.samples.plantsbywebsphereejb.Order
</local>
            <ejb-class>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderKey</prim-key-class>
            <reentrant>false</reentrant>
            <cmp-version>2.x</cmp-version>
            <abstract-schema-name>Order</abstract-schema-name>
            <cmp-field id="CMPAttribute_1045680776222">
               <field-name>orderID</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776223">
               <field-name>sellDate</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776232">
               <field-name>billName</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776242">
               <field-name>billAddr1</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776243">
               <field-name>billAddr2</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776252">
               <field-name>billCity</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776262">
               <field-name>billState</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776263">
               <field-name>billZip</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776272">
               <field-name>billPhone</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776273">
               <field-name>shipName</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776282">
               <field-name>shipAddr1</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776292">
               <field-name>shipAddr2</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776293">
               <field-name>shipCity</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776302">
               <field-name>shipState</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776303">
               <field-name>shipZip</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776312">
               <field-name>shipPhone</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776322">
               <field-name>creditCard</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776323">
               <field-name>ccNum</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776332">
               <field-name>ccExpireMonth</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776333">
               <field-name>ccExpireYear</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776342">
               <field-name>cardHolder</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776343">
               <field-name>shippingMethod</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776352">
               <field-name>profit</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776353">
               <field-name>customerID</field-name>
            </cmp-field>
            <ejb-local-ref id="EJBLocalRef_1046188969039">
               <ejb-ref-name>ejb/OrderItem</ejb-ref-name>
               <ejb-ref-type>Entity</ejb-ref-type>
               <local-home>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemHome</local-home>
               <local>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItem</local>
               <ejb-link>OrderItem</ejb-link>
            </ejb-local-ref>
            <ejb-local-ref id="EJBLocalRef_1046290450491">
               <description></description>
               <ejb-ref-name>ejb/IdGenerator</ejb-ref-name>
               <ejb-ref-type>Entity</ejb-ref-type>
               <local-home>
com.ibm.websphere.samples.plantsbywebsphereejb.IdGeneratorHome</local-home>
               <local>
com.ibm.websphere.samples.plantsbywebsphereejb.IdGenerator</local>
               <ejb-link>IdGenerator</ejb-link>
            </ejb-local-ref>
         </entity>
         <entity id="OrderItem">
            <description>Order item entity bean</description>
            <ejb-name>OrderItem</ejb-name>
            <local-home>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemHome</local-home>
            <local>com.ibm.websphere.samples.plantsbywebsphereejb.OrderItem
</local>
            <ejb-class>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderItemKey</prim-key-class>
            <reentrant>false</reentrant>
            <cmp-version>2.x</cmp-version>
            <abstract-schema-name>OrderItem</abstract-schema-name>
            <cmp-field id="CMPAttribute_1045680774109">
               <field-name>inventoryID</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680775921">
               <field-name>name</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680775961">
               <field-name>pkginfo</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680775981">
               <field-name>price</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776141">
               <field-name>cost</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776162">
               <field-name>category</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776163">
               <field-name>quantity</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1045680776172">
               <field-name>sellDate</field-name>
            </cmp-field>
            <cmp-field id="CMPAttribute_1055372031972">
               <field-name>order_orderID</field-name>
            </cmp-field>
            <ejb-local-ref id="EJBLocalRef_1046188969019">
               <ejb-ref-name>ejb/Order</ejb-ref-name>
               <ejb-ref-type>Entity</ejb-ref-type>
               <local-home>
com.ibm.websphere.samples.plantsbywebsphereejb.OrderHome</local-home>
               <local>com.ibm.websphere.samples.plantsbywebsphereejb.Order
</local>
               <ejb-link>Order</ejb-link>
            </ejb-local-ref>
         </entity>
<relationships id="Relationships_1055372032092">
         <ejb-relation id="EJBRelation_1055372032102">
            <description></description>
            <ejb-relation-name>Order-OrderItem</ejb-relation-name>
            <ejb-relationship-role id="EJBRelationshipRole_1046189872618">

<ejb-relationship-role-name>order</ejb-relationship-role-name>
               <multiplicity>Many</multiplicity>
               <relationship-role-source id="RoleSource_1055372032102">
                  <ejb-name>OrderItem</ejb-name>
               </relationship-role-source>
               <cmr-field id="CMRField_1055372032102">
                  <cmr-field-name>order</cmr-field-name>
               </cmr-field>
            </ejb-relationship-role>
            <ejb-relationship-role id="EJBRelationshipRole_1046189872698">

<ejb-relationship-role-name>orderitem</ejb-relationship-role-name>
               <multiplicity>One</multiplicity>
               <relationship-role-source id="RoleSource_1055372032103">
                  <ejb-name>Order</ejb-name>
               </relationship-role-source>
               <cmr-field id="CMRField_1055372032103">
                  <cmr-field-name>orderitem</cmr-field-name>
                  <cmr-field-type>java.util.Collection</cmr-field-type>
               </cmr-field>
            </ejb-relationship-role>
         </ejb-relation>
      </relationships>

openejb-jar.xml
 <entity>
            <ejb-name>Order</ejb-name>
            <local-jndi-name>ejb/Order</local-jndi-name>
            <table-name>ORDER1</table-name>
            <cmp-field-mapping>
                <cmp-field-name>orderID</cmp-field-name>
                <table-column>ORDERID</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>sellDate</cmp-field-name>
                <table-column>SELLDATE</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>billName</cmp-field-name>
                <table-column>BILLNAME</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>billAddr1</cmp-field-name>
                <table-column>BILLADDR1</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>billAddr2</cmp-field-name>
                <table-column>BILLADDR2</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>billCity</cmp-field-name>
                <table-column>BILLCITY</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>billState</cmp-field-name>
                <table-column>BILLSTATE</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>billZip</cmp-field-name>
                <table-column>BILLZIP</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>billPhone</cmp-field-name>
                <table-column>BILLPHONE</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>shipName</cmp-field-name>
                <table-column>SHIPNAME</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>shipAddr1</cmp-field-name>
                <table-column>SHIPADDR1</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>shipAddr2</cmp-field-name>
                <table-column>SHIPADDR2</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>shipCity</cmp-field-name>
                <table-column>SHIPCITY</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>shipState</cmp-field-name>
                <table-column>SHIPSTATE</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>shipZip</cmp-field-name>
                <table-column>SHIPZIP</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>shipPhone</cmp-field-name>
                <table-column>SHIPPHONE</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>creditCard</cmp-field-name>
                <table-column>CREDITCARD</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>ccNum</cmp-field-name>
                <table-column>CCNUM</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>ccExpireMonth</cmp-field-name>
                <table-column>CCEXPIREMONTH</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>ccExpireYear</cmp-field-name>
                <table-column>CCEXPIREYEAR</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>cardHolder</cmp-field-name>
                <table-column>CARDHOLDER</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>shippingMethod</cmp-field-name>
                <table-column>SHIPPINGMETHOD</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>profit</cmp-field-name>
                <table-column>PROFIT</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>customerID</cmp-field-name>
                <table-column>CUSTOMERID</table-column>
            </cmp-field-mapping>


        </entity>
        <entity>
            <ejb-name>OrderItem</ejb-name>
            <local-jndi-name>ejb/OrderItem</local-jndi-name>
            <table-name>ORDERITEM</table-name>
            <cmp-field-mapping>
                <cmp-field-name>inventoryID</cmp-field-name>
                <table-column>INVENTORYID</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>name</cmp-field-name>
                <table-column>NAME</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>pkginfo</cmp-field-name>
                <table-column>PKGINFO</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>price</cmp-field-name>
                <table-column>PRICE</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>cost</cmp-field-name>
                <table-column>COST</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>category</cmp-field-name>
                <table-column>CATEGORY</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>quantity</cmp-field-name>
                <table-column>QUANTITY</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>sellDate</cmp-field-name>
                <table-column>SELLDATE</table-column>
            </cmp-field-mapping>
            <cmp-field-mapping>
                <cmp-field-name>order_orderID</cmp-field-name>
                <table-column>ORDER_ORDERID</table-column>
            </cmp-field-mapping>

        </entity>

 <relationships>
         <ejb-relation>
             <ejb-relation-name>Order-OrderItem</ejb-relation-name>
             <ejb-relationship-role>

<ejb-relationship-role-name>orderitem</ejb-relationship-role-name>
                  <relationship-role-source>
                      <ejb-name>Order</ejb-name>
                  </relationship-role-source>
                  <cmr-field>
                      <cmr-field-name>orderitem</cmr-field-name>
                  </cmr-field>
                  <role-mapping>
                      <cmr-field-mapping>
                          <key-column>ORDERID</key-column>

<foreign-key-column>ORDER_ORDERID</foreign-key-column>
                      </cmr-field-mapping>
                  </role-mapping>
             </ejb-relationship-role>
         </ejb-relation>
     </relationships>

Re: Another OpenEJB Question

Posted by Gianny Damour <gi...@optusnet.com.au>.
Hi,

I am surpised that OrderItem.setOrder_orderId gives an error. Could you 
please provide the stack trace (the TranQL part + the first OpenEJB 
element) along with the DDs?

FWIW, there are a couple of integration tests for CMP and CMR overlap 
scenarios in the OpenEJB tree:
sub-project: modules/itests
test class: org.openejb.test.entity.cmp2.cmrmapping.CMRMappingFacadeBean
DDs:  src/cmp2/cmrmapping

Thanks,
Gianny

Manu George wrote:

> Hi,
>
> 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)
>
> Am I doing anything wrong here?
>
> Regards
> Manu
>