The mapping part ist as follows: <class-descriptor class="ch.eugster.pos.db.ProductGroup" table="pos_product_group" isolation-level="read-uncommitted" accept-locks="true" refresh="false"> <field-descriptor name="id" column="id" jdbc-type="BIGINT" primarykey="true" indexed="true" access="readwrite" autoincrement="true" nullable="true" locking="false" update-lock="true" default-fetch="false" /> <field-descriptor name="timestamp" column="timestamp" jdbc-type="TIMESTAMP" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="deleted" column="deleted" jdbc-type="BIT" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="defaultGroup" column="default_group" jdbc-type="BIT" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="galileoId" column="galileo_id" jdbc-type="VARCHAR" length="3" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="defaultTaxId" column="default_tax_id" jdbc-type="BIGINT" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="shortname" column="shortname" jdbc-type="VARCHAR" length="50" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="name" column="name" jdbc-type="VARCHAR" length="255" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="quantityProposal" column="quantity_proposal" jdbc-type="INTEGER" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="priceProposal" column="price_proposal" jdbc-type="DOUBLE" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="optCodeProposal" column="opt_code_proposal" jdbc-type="VARCHAR" length="1" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="account" column="account" jdbc-type="VARCHAR" length="100" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="isIncome" column="is_income" jdbc-type="BIT" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="isExpense" column="is_expense" jdbc-type="BIT" primarykey="false" nullable="true" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="modified" column="modified" jdbc-type="BIT" primarykey="false" nullable="false" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="type" column="type" jdbc-type="INTEGER" primarykey="false" nullable="false" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <field-descriptor name="exportId" column="export_id" jdbc-type="VARCHAR" length="10" primarykey="false" nullable="false" indexed="false" autoincrement="false" locking="false" update-lock="true" default-fetch="false" access="readwrite" /> <reference-descriptor name="defaultTax" class-ref="ch.eugster.pos.db.Tax" proxy="false" refresh="false" auto-retrieve="true" auto-update="false" auto-delete="false" otm-dependent="false"> <foreignkey field-ref="defaultTaxId" /> </reference-descriptor> </class-descriptor>
(but the same problem is for every class/table) the code saving a new Object is: public DBResult store(Connection connection) { PersistenceBroker broker = connection.getBroker(); DBResult result = new DBResult(); boolean isMyTransaction = !broker.isInTransaction(); try { if (isMyTransaction) { broker.beginTransaction(); } broker.store(this); if (isMyTransaction) { broker.commitTransaction(); } } catch (PersistenceBrokerException e) { if (isMyTransaction) { broker.abortTransaction(); } if (e instanceof ClassNotPersistenceCapableException) { testSwitchDatabase(); } else if (isMyTransaction) { result = describeError(e); if (e instanceof PersistenceBrokerSQLException) { PersistenceBrokerSQLException psqle = (PersistenceBrokerSQLException) e; if (psqle.getSourceException() instanceof SQLException) { SQLException sqle = (SQLException) psqle.getSourceException(); //result = describeError(sqle); // if (sqle.getSQLState().equals("08S01")) { //$NON-NLS-1$ testSwitchDatabase(); // } } } } } return result; } and the code that sets the connection is: public void setConnection(JdbcConnectionDescriptor cd, Element el) { cd.setJcdAlias(el.getAttributeValue("jcd-alias")); //$NON-NLS-1$ cd.setDefaultConnection(Boolean.getBoolean(el.getAttributeValue("default-connection"))); //$NON-NLS-1$ cd.setDbms(el.getAttributeValue("platform")); //$NON-NLS-1$ cd.setJdbcLevel(el.getAttributeValue("jdbc-level")); //$NON-NLS-1$ cd.setDriver(el.getAttributeValue("driver")); //$NON-NLS-1$ cd.setProtocol(el.getAttributeValue("protocol")); //$NON-NLS-1$ cd.setSubProtocol(el.getAttributeValue("subprotocol")); //$NON-NLS-1$ StringBuffer sb = new StringBuffer("//"); //$NON-NLS-1$ sb.append(el.getAttributeValue("host")); //$NON-NLS-1$ sb.append(":"); //$NON-NLS-1$ sb.append(el.getAttributeValue("port")); //$NON-NLS-1$ if (el.getAttributeValue("database").length() > 0) { //$NON-NLS-1$ sb.append("/"); //$NON-NLS-1$ sb.append(el.getAttributeValue("database")); //$NON-NLS-1$ } sb.append(el.getAttributeValue("options")); //$NON-NLS-1$ // cd.addAttribute("autoReconnect", "true"); cd.setDbAlias(sb.toString()); cd.setUserName(el.getAttributeValue("username")); //$NON-NLS-1$ cd.setPassWord(el.getAttributeValue("password")); //$NON-NLS-1$ cd.setBatchMode(Boolean.getBoolean(el.getAttributeValue("batch-mode"))); //$NON-NLS-1$ cd.setUseAutoCommit(Integer.parseInt(el.getAttributeValue("use-auto-commit"))); //$NON-NLS-1$ ConnectionPoolDescriptor cpd = cd.getConnectionPoolDescriptor(); SequenceDescriptor sd = new SequenceDescriptor(cd); sd.setSequenceManagerClass(org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.class); sd.addAttribute("grabSize", "20"); } Thanks Christian -------- Original-Nachricht -------- > Datum: Fri, 28 Sep 2007 17:23:29 +0200 > Von: Armin Waibel <[EMAIL PROTECTED]> > An: OJB Users List <ojb-user@db.apache.org> > Betreff: Re: Different behaviour of SequenceManager in rc5 and 1.0.1 > Hi Christian, > > Christian Eugster wrote: > > Hi, > > > > In my program I updated ojb from 1.0.rc5 to 1.0.1. When I store a new > > record the sequence manager does not assign a value to my primary key > > field (autoincrement=true). With 1.0.rc5 it did it (and does it) with > > no problem. With 1.0.4 too there is no assigning to the autoincrement > > field. I use > > org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl as > > Sequence Manager. > > > > Has anybody any suggestion, what i can do? > > > > Please post the mapping (class-descriptor) of the related class and a > code snip or pseudo code of the related source code (insert of the > object). > > regards, > Armin > > > Thanks a lot! > > > > Christian > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- **************************** Christian Eugster Grissian Widum 14 I-39010 Tisens -------------------------------------- Handy Schweiz: 0041 79 594 85 45 Handy Italia: 0039 333 888 77 64 Email: [EMAIL PROTECTED] Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]