try setting autoincrement=true on the ID mapping

-----Original Message-----
From: news [mailto:[EMAIL PROTECTED] Behalf Of Sebastian
Sent: Wednesday, May 19, 2004 1:10 PM
To: [EMAIL PROTECTED]
Subject: MySQL + Native Autoincrement


Hi,
I'm trying to create a record on a table where an autoincrement for the 
id column is performed by the database. Whatever I do I always get:

org.apache.ojb.broker.KeyConstraintViolatedException: SQL failure while 
insert object data for class EnrollmentAction, PK of the given object is 
[ id=0], object was [EMAIL PROTECTED], exception message is 
[Duplicate key or integrity constraint violation,  message from server: 
"Duplicate entry '0' for key 1"]
  at 
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImp
l.java:238)
  at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBroker
Impl.java:1620)
  at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1537)
  at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:683)
  at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:174)
  at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:174)
  at Integrator.main(LmsIntegrator.java:47)
Caused by: java.sql.SQLException: Duplicate key or integrity constraint 
violation,  message from server: "Duplicate entry '0' for key 1"
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1962)
  at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1163)
  at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1257)
  at com.mysql.jdbc.Connection.execSQL(Connection.java:2242)
  at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1677)
  at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1524)
  at 
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImp
l.java:197)
... 6 more

======================================================

Here is the id field descriptor I'm using:

<class-descriptor class="EnrollmentAction" table="ENROLLMENTS">
  <field-descriptor
   name="id"
   column="id"
   jdbc-type="BIGINT"
   primarykey="true"
   nullable="false"
   access="readonly"
  >
  </field-descriptor>

   ...

</class-descriptor>

======================================================

The sequence-manager is set to 
org.apache.ojb.broker.util.sequence.SequenceManagerNativeImpl

How can I suppress that OJB tries to set ID to 0 in the SQL INSERT 
statement?

Thanks in advance!


---------------------------------------------------------------------
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]

Reply via email to