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

Reply via email to