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]