And I continue about compound primary key errors: To be clear, I never use it myself (I always use normalized schemas). But I try this:
The same example as above with public String cliCode; in the primary key class (so 2 fields). The database creation in mySQL: | 2004-05-30 12:23:47,844 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.PhML_Client] Executing SQL: CREATE TABLE TD_CLIENT (CLI_ID BIGINT, CLI_ADDR VARCHAR(250) BINARY, CLI_CODE VARCHAR(250) BINARY NOT NULL, CLI_CP VARCHAR(250) BINARY, CLI_FAX VARCHAR(250) BINARY, CLI_FLAGSUP TINYINT NOT NULL, CLI_MAIL VARCHAR(250) BINARY, CLI_RSNSCL VARCHAR(250) BINARY, CLI_SIRET VARCHAR(250) BINARY, CLI_TEL VARCHAR(250) BINARY, CLI_VILLE VARCHAR(250) BINARY, ETAB_CODE VARCHAR(250) BINARY, CONSTRAINT pk_TD_CLIENT PRIMARY KEY (CLI_CODE)) | 2004-05-30 12:23:47,924 INFO [org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.PhML_Client] Created table 'TD_CLIENT' successfully. | is false (only 1 primary key). Then I delete the table and create another manually with: | CREATE TABLE TD_CLIENT (CLI_ID BIGINT, CLI_ADDR VARCHAR(250) BINARY, CLI_CODE VARCHAR(250) BINARY NOT NULL, CLI_CP VARCHAR(250) BINARY, CLI_FAX VARCHAR(250) BINARY, CLI_FLAGSUP TINYINT NOT NULL, CLI_MAIL VARCHAR(250) BINARY, CLI_RSNSCL VARCHAR(250) BINARY, CLI_SIRET VARCHAR(250) BINARY, CLI_TEL VARCHAR(250) BINARY, CLI_VILLE VARCHAR(250) BINARY, ETAB_CODE VARCHAR(250) BINARY, CONSTRAINT pk_TD_CLIENT PRIMARY KEY (CLI_ID,CLI_CODE)) | I have then my table with 2 primary keys (cliId and cliCode). Then I create the first entity (id=25000, code="55555555") | 2004-05-30 13:07:52,026 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.PhML_Client] Executing SQL: SELECT COUNT(*) FROM TD_CLIENT WHERE CLI_CODE=? | 2004-05-30 13:07:52,176 TRACE [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.PhML_Client#cliCode] Set parameter: index=1, jdbcType=VARCHAR, value=55555555 | and the second one (id=25001,code="55555555") The entity exist SQL is always the same: | 2004-05-30 13:11:21,757 TRACE [org.jboss.ejb.plugins.LogInterceptor] Start method=create | 2004-05-30 13:11:21,757 TRACE [org.jboss.ejb.plugins.TxInterceptorCMT] Current transaction in MI is null | 2004-05-30 13:11:21,757 TRACE [org.jboss.ejb.plugins.TxInterceptorCMT] TX_REQUIRED for create | 2004-05-30 13:11:21,757 TRACE [org.jboss.ejb.plugins.TxInterceptorCMT] Thread came in with tx null | 2004-05-30 13:11:21,757 TRACE [org.jboss.ejb.plugins.TxInterceptorCMT] Starting new tx TransactionImpl:XidImpl [FormatId=257, GlobalId=bureau//23, BranchQual=] | 2004-05-30 13:11:21,757 TRACE [org.jboss.ejb.plugins.EntityInstancePool] Get instance [EMAIL PROTECTED] PharmaML_EJB.pkg.PhML_ClientBean | 2004-05-30 13:11:21,767 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.PhML_Client] Executing SQL: SELECT COUNT(*) FROM TD_CLIENT WHERE CLI_CODE=? | 2004-05-30 13:11:21,767 TRACE [org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge.PhML_Client#cliCode] Set parameter: index=1, jdbcType=VARCHAR, value=55555555 | 2004-05-30 13:11:21,788 TRACE [org.jboss.ejb.plugins.TxInterceptorCMT] TxInterceptorCMT: In finally | 2004-05-30 13:11:21,798 TRACE [org.jboss.ejb.plugins.LogInterceptor] End method=create | And I have the error : Entity with primary key [EMAIL PROTECTED] already exists. Which is false of course because my primary key is a compound one ! This is not a bug ? View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3836880#3836880 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3836880 ------------------------------------------------------- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user