this could happen the first time a sequence was used, e.g. SequenceManager doesn't accept 0 as PK value and obtain a new PK value from the DB.
Here is an example:
First time call (DB sequence does not exist, OJB create it on the fly)
1080055631853|150|0|statement||select SEQ_SALAD.nextval from dual
1080055631853|0|0|statement||drop sequence SEQ_SALAD
1080055631853|0|0|statement||create sequence SEQ_SALAD
1080055631953|100|0|statement||select SEQ_SALAD.nextval from dual
1080055632033|0|0|statement|INSERT INTO FISH (foodId,name,calories,typeOfWater) VALUES (?,?,?,?) |INSERT INTO FISH (foodId,name,calories,typeOfWater) VALUES ('1','NEW FISH','0','')
1080055632053|0|0|commit||
1080055632053|0|0|statement||select SEQ_SALAD.nextval from dual
1080055632063|0|0|statement|INSERT INTO FISH (foodId,name,calories,typeOfWater) VALUES (?,?,?,?) |INSERT INTO FISH (foodId,name,calories,typeOfWater) VALUES ('2','MORE NEW FISH!','0','')
1080055632063|0|0|commit||
run the test again (sequence already established in DB)
1080055974686|100|0|statement||select SEQ_SALAD.nextval from dual
1080055974776|10|0|statement|INSERT INTO FISH (foodId,name,calories,typeOfWater) VALUES (?,?,?,?) |INSERT INTO FISH (foodId,name,calories,typeOfWater) VALUES ('3','NEW FISH','0','')
1080055974796|10|0|commit||
1080055974796|0|0|statement||select SEQ_SALAD.nextval from dual
1080055974796|0|0|statement|INSERT INTO FISH (foodId,name,calories,typeOfWater) VALUES (?,?,?,?) |INSERT INTO FISH (foodId,name,calories,typeOfWater) VALUES ('4','MORE NEW FISH!','0','')
1080055974796|0|0|commit||
regards, Armin
Richarz, Klaus (Computer Service) wrote:
Hi,
I am using OJB 1.0rc5 with Oracle8. When I try to store a simple object, the following SQL queries are executed (p6spy.log):
1080045456718|15|0|statement||select TURBINE_USER_SEQ.nextval from dual
1080045456843|0|0|statement|SELECT LAST_NAME,LOGIN_NAME,FIRST_NAME,USER_ID,PASSWORD_VALUE,EMAIL FROM TURBINE_USER WHERE USER_ID = ? |SELECT LAST_NAME,LOGIN_NAME,FIRST_NAME,USER_ID,PASSWORD_VALUE,EMAIL FROM TURBINE_USER WHERE USER_ID = '40049' 1080045456859|16|0|statement||select TURBINE_USER_SEQ.nextval from dual
1080045457265|406|0|statement|INSERT INTO TURBINE_USER (USER_ID,EMAIL,FIRST_NAME,LAST_NAME,LOGIN_NAME,PASSWORD_VALUE) VALUES (?,?,?,?,?,?) |INSERT INTO TURBINE_USER (USER_ID,EMAIL,FIRST_NAME,LAST_NAME,LOGIN_NAME,PASSWORD_VALUE) VALUES ('40050','','Klaus','Richarz','neu01','BxlwjRzIFIOb2Bj9wn1EZlLw')
Why is "select TURBINE_USER_SEQ.nextval from dual" executed two times ?
repository.xml (snippet)
<class-descriptor class="de.[...].PortalUserVO" table="TURBINE_USER"
<field-descriptor name="id" column="USER_ID" jdbc-type="BIGINT" primarykey="true" autoincrement="true" sequence-name="TURBINE_USER_SEQ" > </field-descriptor> <field-descriptor name="email" column="EMAIL" jdbc-type="VARCHAR" length="99" > </field-descriptor> <field-descriptor name="firstName" column="FIRST_NAME" jdbc-type="VARCHAR" length="99" > </field-descriptor> <field-descriptor name="lastName" column="LAST_NAME" jdbc-type="VARCHAR" length="99" > </field-descriptor> <field-descriptor name="loginName" column="LOGIN_NAME" jdbc-type="VARCHAR" length="32" > </field-descriptor> <field-descriptor name="password" column="PASSWORD_VALUE" jdbc-type="VARCHAR" length="32" > </field-descriptor> <reference-descriptor name="ldapProfile" class-ref="de.[...].LDAPProfileVO" > <foreignkey field-ref="id"/> </reference-descriptor> </class-descriptor>
Thanks in advance,
Klaus Richarz Hamburger Berater Team GmbH Hamburg, Germany
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
