Could you try with the cvs jboss? I believe I fixed this yesterday.

david jencks

On 2002.03.01 11:20:22 -0500 Sam De Backer wrote:
> Hi there,
> 
> I'm puzzled, am I overlooking something here, or is this a bug.
> 
> jboss 3.0.0beta, JDK1.3.0, mySQL 3.23.47, mm-mysql-2.0.11, WinNT 4.0 SP6a
> 
> I have a simple scheme, 2 entity beans (CMP), A (Workplace) and B
> (Booking),
> related One to Many, like A----*B, and a session bean C (Booker) which
> act
> as a session facade to create B objects that need to be related to A
> objects. B has a CMR field, theA (theWorkplace). There is a create method
> for B in BLocalHome, which takes as an argument (a.o.) an ALocal. In B's
> ejbCreate I set the CMP-fields, in ejbPostCreate I set the CMR field
> theA.
> The create method of BLocalHome is called from within the session bean C,
> giving me as returnvalue a BLocal object. This is the setup, now the
> problem.
> 
> When my session bean C creates the B (and tries to link it to the A) and
> doesn't do anything more after that (simply returns), the database
> doesn't
> get updated, no UPDATE sql statement in the jboss-log to set the
> FK-column
> B.theA to A's PK! (i also use a SQL spy (P6Spy) to see all SQL going to
> the
> DB, nada there either!)
> 
> 2002-03-01 17:06:23,656 INFO  [Default] BookingBean::ejbCreate null
> 2002-03-01 17:06:23,656 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.Booking] Create:
> pk=1014998783656
> 2002-03-01 17:06:23,656 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.Booking]
> Executing
> SQL: SELECT COUNT(*) FROM Booking WHERE id=?
> 2002-03-01 17:06:23,656 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=1, jdbcType=BIGINT, value=1014998783656
> 2002-03-01 17:06:23,666 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.Booking]
> Executing
> SQL: INSERT INTO Booking (id, date, person, workplace) VALUES (?, ?, ?,
> ?)
> 2002-03-01 17:06:23,666 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=1, jdbcType=BIGINT, value=1014998783656
> 2002-03-01 17:06:23,666 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.date]
> Set parameter: index=2, jdbcType=DATE, value=Mon Feb 25 00:00:00
> GMT+01:00
> 2002
> 2002-03-01 17:06:23,686 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.person]
> Set parameter: index=3, jdbcType=VARCHAR, value=Joeri Leemans
> 2002-03-01 17:06:23,686 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=4, jdbcType=BIGINT, value=NULL
> 2002-03-01 17:06:23,686 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.Booking] Create:
> Rows affected = 1
> 2002-03-01 17:06:23,706 INFO  [Default] BookingBean::ejbPostCreate
> 1014998783656
> 2002-03-01 17:06:23,706 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.Workplace] RESET
> PERSISTENCE CONTEXT: id=1014998783475
> 2002-03-01 17:06:23,706 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.Workplace] load data:
> entity=Workplace pk=1014998783475
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.Workplace] No preload data
> found: entity=Workplace pk=1014998783475
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Workplace] Default
> eager-load for entity
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Workplace]
> Executing
> SQL: SELECT name, company, floor FROM Workplace WHERE (id=?)
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Workplace.id]
> Set parameter: index=1, jdbcType=BIGINT, value=1014998783475
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Workplace.name]
> Get result: index=1, javaType=java.lang.String, Simple, value=BRFI1-2-034
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Workplace.compan
> y] Get result: index=2, javaType=java.lang.String, Simple, value=Wemmel
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Workplace.floor]
> Get result: index=3, javaType=int, Simple, value=2
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMRFieldBridge.Workplace.Booking_
> workplace] Read ahead cahce load: cmrField=Booking_workplace
> pk=1014998783475
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.Workplace] load data:
> entity=Workplace pk=1014998783475
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.Workplace] No preload data
> found: entity=Workplace pk=1014998783475
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadRelationCommand.Workplace]
> Executing
> SQL: SELECT id FROM Booking WHERE (workplace=?)
> 2002-03-01 17:06:23,716 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=1, jdbcType=BIGINT, value=1014998783475
> 2002-03-01 17:06:23,726 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.Workplace] Store
> command NOT executed. Entity is not dirty: pk=1014998783475
> 
> When my session bean C creates the B (and tries to link it to the A) and
> afterwards calls another method on the newly created B (it seems it could
> by
> any method, like theBLocalObject.getPrimaryKey(), or a businessmethod
> like
> the businessmethod void touch() defined in BLocal), the database is
> updated!!!! I have an SQL UPDATE statement then in my log, tough only
> after
> i called my own touch method. End result is perfectly like expected!
> 
> 2002-03-01 17:15:50,871 INFO  [Default] BookingBean::ejbCreate null
> 2002-03-01 17:15:50,871 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.Booking] Create:
> pk=1014999350871
> 2002-03-01 17:15:50,871 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.Booking]
> Executing
> SQL: SELECT COUNT(*) FROM Booking WHERE id=?
> 2002-03-01 17:15:50,871 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=1, jdbcType=BIGINT, value=1014999350871
> 2002-03-01 17:15:50,881 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.Booking]
> Executing
> SQL: INSERT INTO Booking (id, date, person, workplace) VALUES (?, ?, ?,
> ?)
> 2002-03-01 17:15:50,881 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=1, jdbcType=BIGINT, value=1014999350871
> 2002-03-01 17:15:50,881 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.date]
> Set parameter: index=2, jdbcType=DATE, value=Mon Feb 25 00:00:00
> GMT+01:00
> 2002
> 2002-03-01 17:15:50,881 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.person]
> Set parameter: index=3, jdbcType=VARCHAR, value=Joeri Leemans
> 2002-03-01 17:15:50,881 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=4, jdbcType=BIGINT, value=NULL
> 2002-03-01 17:15:50,901 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.Booking] Create:
> Rows affected = 1
> 2002-03-01 17:15:50,911 INFO  [Default] BookingBean::ejbPostCreate
> 1014999350871
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.Workplace] RESET
> PERSISTENCE CONTEXT: id=1014999350701
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.Workplace] load data:
> entity=Workplace pk=1014999350701
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.Workplace] No preload data
> found: entity=Workplace pk=1014999350701
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Workplace] Default
> eager-load for entity
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Workplace]
> Executing
> SQL: SELECT name, company, floor FROM Workplace WHERE (id=?)
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Workplace.id]
> Set parameter: index=1, jdbcType=BIGINT, value=1014999350701
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Workplace.name]
> Get result: index=1, javaType=java.lang.String, Simple, value=BRFI1-2-034
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Workplace.compan
> y] Get result: index=2, javaType=java.lang.String, Simple, value=Wemmel
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Workplace.floor]
> Get result: index=3, javaType=int, Simple, value=2
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMRFieldBridge.Workplace.Booking_
> workplace] Read ahead cahce load: cmrField=Booking_workplace
> pk=1014999350701
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.Workplace] load data:
> entity=Workplace pk=1014999350701
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.Workplace] No preload data
> found: entity=Workplace pk=1014999350701
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadRelationCommand.Workplace]
> Executing
> SQL: SELECT id FROM Booking WHERE (workplace=?)
> 2002-03-01 17:15:50,921 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=1, jdbcType=BIGINT, value=1014999350701
> 2002-03-01 17:15:50,931 INFO  [Default] BookingBean::touch 1014999350871
> 2002-03-01 17:15:50,941 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.Workplace] Store
> command NOT executed. Entity is not dirty: pk=1014999350701
> 2002-03-01 17:15:50,941 INFO  [Default] BookingBean::ejbStore
> 1014999350871
> 2002-03-01 17:15:50,941 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.Booking] Executing
> SQL: UPDATE Booking SET workplace=? WHERE id=?
> 2002-03-01 17:15:50,941 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=1, jdbcType=BIGINT, value=1014999350701
> 2002-03-01 17:15:50,941 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.Booking.id]
> Set
> parameter: index=2, jdbcType=BIGINT, value=1014999350871
> 2002-03-01 17:15:50,941 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.Booking] Create:
> Rows
> affected = 1
> 
> 
> What am I doing wrong?
> 
> Sam
> 
> _______________________________________________
> JBoss-user mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-user
> 
> 

_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to