Well, I added the set/get chassi in my CarPK class but no luck... I did another test too. The primary key returned by the method getPrimaryKey of the returned object when I do findBySituation (which was implemented by me) is an instance of String, not o CarPK like you can see here...don't get why Primary Key 3687352196865265 String Instance true CarPK Instance false Primary Key 65436549663416546 String Instance true CarPK Instance false Primary Key 65454894635418697 String Instance true CarPK Instance false Primary Key 9BWCA05X85P082824 String Instance true CarPK Instance false Primary Key AABB151515 String Instance true CarPK Instance false New pk class AABB151515 Until here everything works. setEntityContext called do carro. setEntityContext called do carro. 23:58:30,665 WARN [SystemExceptionInterceptor] Carro javax.ejb.TransactionRolledbackLocalException at org.openejb.transaction.ContainerPolicy$TxRequired.invoke( ContainerPolicy.java:123) at org.openejb.transaction.TransactionContextInterceptor.invoke( TransactionContextInterceptor.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$$1847bc60.findByPrimaryKey () at br.cefetrn.olivier.session.MySessionBean.registrarLocacao( MySessionBean.java:71) at br.cefetrn.olivier.session.MySessionBean$$FastClassByCGLIB$$fba7f7a3.invoke () 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( ComponentContextInterceptor.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( TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke( SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java :238) at org.openejb.server.ejbd.EjbRequestHandler.invoke( EjbRequestHandler.java:297) at org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD( EjbRequestHandler.java:325) at org.openejb.server.ejbd.EjbRequestHandler.processRequest( EjbRequestHandler.java:196) at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150) at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87) at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke () 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.activeio.xnet.ServerService$$EnhancerByCGLIB$$463425f3.service () at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67) at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90) at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run( ThreadPool.java:138) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.ClassCastException: br.cefetrn.olivier.entity.CarroPK at org.tranql.sql.jdbc.binding.StringBinding.setValue( StringBinding.java:43) at org.tranql.sql.jdbc.binding.TypeConverterBinding.setValue( TypeConverterBinding.java:93) at org.tranql.sql.jdbc.binding.TypeConverterBinding.setValue( TypeConverterBinding.java:89) at org.tranql.sql.jdbc.JDBCQueryCommand.execute( JDBCQueryCommand.java:64) at org.tranql.cache.cache.FindByPKCacheQueryCommand.execute( FindByPKCacheQueryCommand.java:66) at org.openejb.entity.cmp.CMPFinder.execute(CMPFinder.java:99) at org.openejb.entity.cmp.SingleValuedFinder.execute( SingleValuedFinder.java:80) 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) ... 36 more 23:58:30,670 WARN [SystemExceptionInterceptor] MySession javax.ejb.TransactionRolledbackLocalException at org.openejb.transaction.ContainerPolicy$TxRequired.invoke( ContainerPolicy.java:123) at org.openejb.transaction.TransactionContextInterceptor.invoke( TransactionContextInterceptor.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$$1847bc60.findByPrimaryKey () at br.cefetrn.olivier.session.MySessionBean.registrarLocacao( MySessionBean.java:71) at br.cefetrn.olivier.session.MySessionBean$$FastClassByCGLIB$$fba7f7a3.invoke () 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( ComponentContextInterceptor.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( TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke( SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java :238) at org.openejb.server.ejbd.EjbRequestHandler.invoke( EjbRequestHandler.java:297) at org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD( EjbRequestHandler.java:325) at org.openejb.server.ejbd.EjbRequestHandler.processRequest( EjbRequestHandler.java:196) at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150) at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87) at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke () 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.activeio.xnet.ServerService$$EnhancerByCGLIB$$463425f3.service () at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67) at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90) at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run( ThreadPool.java:138) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.ClassCastException: br.cefetrn.olivier.entity.CarroPK at org.tranql.sql.jdbc.binding.StringBinding.setValue( StringBinding.java:43) at org.tranql.sql.jdbc.binding.TypeConverterBinding.setValue( TypeConverterBinding.java:93) at org.tranql.sql.jdbc.binding.TypeConverterBinding.setValue( TypeConverterBinding.java:89) at org.tranql.sql.jdbc.JDBCQueryCommand.execute( JDBCQueryCommand.java:64) at org.tranql.cache.cache.FindByPKCacheQueryCommand.execute( FindByPKCacheQueryCommand.java:66) at org.openejb.entity.cmp.CMPFinder.execute(CMPFinder.java:99) at org.openejb.entity.cmp.SingleValuedFinder.execute( SingleValuedFinder.java:80) 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) ... 36 more 23:58:30,688 WARN [[Negocio]] Servlet.service() for servlet Negocio threw exception java.rmi.RemoteException: The bean encountered a non-application exception. method; nested exception is: javax.ejb.TransactionRolledbackLocalException at org.openejb.server.ejbd.EjbRequestHandler.invoke( EjbRequestHandler.java:303) at org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD( EjbRequestHandler.java:325) at org.openejb.server.ejbd.EjbRequestHandler.processRequest( EjbRequestHandler.java:196) at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150) at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87) at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke () 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.activeio.xnet.ServerService$$EnhancerByCGLIB$$463425f3.service () at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67) at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90) at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run( ThreadPool.java:138) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Thread.java:595) Caused by: javax.ejb.TransactionRolledbackLocalException at org.openejb.transaction.ContainerPolicy$TxRequired.invoke( ContainerPolicy.java:123) at org.openejb.transaction.TransactionContextInterceptor.invoke( TransactionContextInterceptor.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$$1847bc60.findByPrimaryKey () at br.cefetrn.olivier.session.MySessionBean.registrarLocacao( MySessionBean.java:71) at br.cefetrn.olivier.session.MySessionBean$$FastClassByCGLIB$$fba7f7a3.invoke () 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( ComponentContextInterceptor.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( TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke( SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java :238) at org.openejb.server.ejbd.EjbRequestHandler.invoke( EjbRequestHandler.java:297) ... 18 more Caused by: java.lang.ClassCastException: br.cefetrn.olivier.entity.CarroPK at org.tranql.sql.jdbc.binding.StringBinding.setValue( StringBinding.java:43) at org.tranql.sql.jdbc.binding.TypeConverterBinding.setValue( TypeConverterBinding.java:93) at org.tranql.sql.jdbc.binding.TypeConverterBinding.setValue( TypeConverterBinding.java:89) at org.tranql.sql.jdbc.JDBCQueryCommand.execute( JDBCQueryCommand.java:64) at org.tranql.cache.cache.FindByPKCacheQueryCommand.execute( FindByPKCacheQueryCommand.java:66) at org.openejb.entity.cmp.CMPFinder.execute(CMPFinder.java:99) at org.openejb.entity.cmp.SingleValuedFinder.execute( SingleValuedFinder.java:80) 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) ... 36 more On 4/4/06, Aaron Mulder wrote: > > What's the actual problem? When you call findByPrimaryKey, is it > returning nothing, or giving you a stack trace, or what? > > I think your primary key class is supposed to have getters and setters > for all the properties, with names matching the primary key fields on > the bean. So it may be that you need a getChassi and setChassi on the > PK class to get it working. > > Thanks, > Aaron > > P.S. Ever played Car Wars? :) > > On 4/4/06, Olivier Voutat wrote: > > I'm in trouble (again lol) with the findByPrimaryKey method. > > > > CarLocalHome localHomeCar = Locator.getCarLocalHome(); > > CarLocal tempcar = null; > > try { > > Iterator temp = > > localHomeCar.findBySituation("Avaliable").iterator(); > > CarPK pk = new CarPK(); > > while (temp.hasNext()) { > > tempcar = (CarLocal)temp.next(); > > System.out.println("Primary Key " + > > tempcar.getPrimaryKey().toString()); > > pk = (CarroPK)tempcar.getPrimaryKey(); > > } > > System.out.println(pk.chassi); > > System.out.println("Everything works fine until here."); > > > > CarLocal mycar = localHomeCar.findByPrimaryKey(new > CarPK("CHASSSICODE"); > > //HERE I don't get to pick my ejbLocalObjet by the primary key. > > > > CarLocal mycar = localHomeCar.findByPrimaryKey(pk); > > //Tried this way too but no success > > > ------------------------------------------------------------------------------------------------------------------------------- > > // This is my CarPK class > > package br.cefetrn.olivier.entity; > > > > import java.io.Serializable; > > > > public class CarPK implements Serializable { > > > > private static final long serialVersionUID = 1L; > > public String chassi; > > > > public CarroPK() {} > > > > public CarroPK(String chas) { > > this.chassi = chas; > > } > > > > public String toString() { > > return chassi.toString(); > > } > > > > public int hashCode() { > > return chassi.hashCode(); > > } > > > > public boolean equals(Object car) { > > return ((CarroPK)car).chassi.equals(chassi); > > } > > } > > > ------------------------------------------------------------------------------------------------------------------------------- > > // This is my ejb-jar.xml code > > > > Car > > > > br.cefetrn.olivier.entity.CarLocalHome > > br.cefetrn.olivier.entity.CarLocal > > > > br.cefetrn.olivier.entity.CarBean > > Container > > br.cefetrn.olivier.entity.CarPK > > /////////////My PK class > > false > > 2.x > > CARS > > > > chassi > > > > manufacturer > > > > model > > > > plaque > > km > > > > color > > > > situation > > > > type > > > > price > > > > Fire > > javax.sql.DataSource > > Container > > > > Shareable > > > > > > > > Does anyone knows what I'm doing wrong in this findByPrimaryKey ? > > Best Regards, > > -- > > Olivier Voutat > > Rua Praia de Muriú, 9188 > > Cep 59092-390 / Natal - RN > > Tel: (84) 3219-0427 Cel: (84) 9977-3917 > -- Olivier Jeanpierre Voutat Rua Praia de Muriú, 9188 Cep 59092-390 / Natal - RN Tel: (84) 3219-0427 Cel: (84) 9977-3917