The bug is in CMP. Many-to-many relationships are not working. Though, the tests-db are passing successfully. The bug was introduced by the following change (this is not a real cvs diff):
public boolean isModified(EntityEnterpriseContext ctx) { - return isModifiedCommand.execute( ctx ); + return !(getEntityBridge().getDirtyFields(ctx).isEmpty()); } Currently, EntityContainer.storeEntity() must always be called. Current implementation is: public void storeEntity(EntityEnterpriseContext ctx) throws Exception { if (ctx.getId() != null) { if(getPersistenceManager().isModified(ctx)) { getPersistenceManager().storeEntity(ctx); } } } isModifiedCommand.execute( ctx ) always returns true. Thus, in pre-changed version storeEntity() was always called. Proposed change calls entityStore() only if cmp fields or cmr with foreign keys were changed. But it misses many-to-many. And the change doesn't make sense because in JDBCStoreEntityCommand dirty fields are checked and entity is updated accordingly. The reason tests were passed successfully is that, all the operations were run in one transaction dealing only with cached values. So, we need to change isModified back and, probably, correct the tests. Unfortunately, currently sf.net is not available the whole day. alex ------------------------------------------------------- This sf.net email is sponsored by: Influence the future of Java(TM) technology. Join the Java Community Process(SM) (JCP(SM)) program now. http://ad.doubleclick.net/clk;4729346;7592162;s?http://www.sun.com/javavote _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development