Hi Armin, I checked it but nothing changed. I also removed all data from the DB-tables but nothing changed, too.
Thanks, Stephan -----Original Message----- From: Armin Waibel [mailto:[EMAIL PROTECTED] Sent: Monday, December 15, 2003 6:03 PM To: OJB Users List Subject: Re: Mapping problem Hi, maybe sequence-name "algorithm" had problems. Try to remove related row in OJB_HL_SEQ table (name of the first found extent class table name). You can do a quick check using SequenceManagerInMemoryImpl in your test. If your test pass, it's a H/L sequence manager problem. regards, Armin Stephan Wannenwetsch wrote: > Hi Wally, > > I'm using the following sequence-manager: > > <sequence-manager > className="org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl"> > <attribute attribute-name="grabSize" attribute-value="20"/> > <attribute attribute-name="autoNaming" attribute-value="true"/> > <attribute attribute-name="globalSequenceId" attribute-value="false"/> > <attribute attribute-name="globalSequenceStart" > attribute-value="10000"/> </sequence-manager> > > Stephan > > > -----Original Message----- > From: Gelhar, Wallace Joseph [mailto:[EMAIL PROTECTED] > Sent: Monday, December 15, 2003 5:35 PM > To: OJB Users List > Subject: RE: Mapping problem > > > Hi Stephan, > > Sounds like a sequence manager configuration problem. A PK must be > unique within an extent hierarchy, so you cannot use an IDENTITY > column for a PK. What sequence manager are you using? > > Wally > > > > -----Original Message----- > From: Stephan Wannenwetsch [mailto:[EMAIL PROTECTED] > Sent: Monday, December 15, 2003 10:16 AM > To: OJB Users List > Subject: RE: Mapping problem > > > Hallo Wally, > > I've changed the mapping into: > <class-descriptor class="demo.myshop.model.ojb2.SellableItem"> > <extent-class class-ref="demo.myshop.model.ojb2.ServiceContract" /> > <extent-class class-ref="demo.myshop.model.ojb2.Product" /> > </class-descriptor> > > <class-descriptor > class="demo.myshop.model.ojb2.ServiceContract" > table="OJB_SELLABLEITEM"> > > <field-descriptor > name="itemId" > column="ITEMID" > jdbc-type="INTEGER" > primarykey="true" > autoincrement="true"/> > > <field-descriptor > name="ojbConcreteClass" > column="CLASS_NAME" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="description" > column="DESCRIPTION" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="price" > column="PRICE" > jdbc-type="INTEGER"/> > > <field-descriptor > name="period" > column="PERIOD" > jdbc-type="INTEGER"/> > > <collection-descriptor > name="suppliers" > element-class-ref="demo.myshop.model.ojb2.Supplier" > auto-retrieve="true" > auto-update="true" > indirection-table="OJB_SUPPLIER_ITEM"> > <fk-pointing-to-this-class column="ITEMID"/> > <fk-pointing-to-element-class column="SUPPLIERID"/> > </collection-descriptor> > </class-descriptor> > > <class-descriptor > class="demo.myshop.model.ojb2.Product" > table="OJB_SELLABLEITEM"> > > <field-descriptor > name="itemId" > column="ITEMID" > jdbc-type="INTEGER" > primarykey="true" > autoincrement="true"/> > > <field-descriptor > name="ojbConcreteClass" > column="CLASS_NAME" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="description" > column="DESCRIPTION" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="price" > column="PRICE" > jdbc-type="INTEGER"/> > > <field-descriptor > name="weight" > column="WEIGHT" > jdbc-type="INTEGER"/> > <collection-descriptor > name="suppliers" > element-class-ref="demo.myshop.model.ojb2.Supplier" > auto-retrieve="true" > auto-update="true" > indirection-table="OJB_SUPPLIER_ITEM"> > <fk-pointing-to-this-class column="ITEMID"/> > <fk-pointing-to-element-class column="SUPPLIERID"/> > </collection-descriptor> > </class-descriptor> > > > > But now I get an error when I store a supplier (primary key - error, > pk not unique in OJB_SUPPLIER_ITEM, can't insert). Transaction started > > > [org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: SQLException > during the execution of the Update SQL query (for a > demo.myshop.model.ojb2.Supplier): [Microsoft][SQLServer 2000 Driver for > JDBC][SQLServer]Verletzung der PRIMARY KEY-Einschr�nkung 'PK_OJB_SUPPLIER_ITEM'. Ein > doppelter Schl�ssel kann in das OJB_SUPPLIER_ITEM-Objekt nicht eingef�gt werden. > [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Verletzung der PRIMARY > KEY-Einschr�nkung 'PK_OJB_SUPPLIER_ITEM'. Ein doppelter Schl�ssel kann i n das OJB_SUPPLIER_ITEM-Objekt nicht eingef�gt werden. > java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for > JDBC][SQLServer]Verletzung der PRIMARY KEY-Einschr�nkung 'PK_OJB_SUPPLIER_ITEM'. Ein > doppelter Schl�ssel kann in das OJB_SUPPLIER_ITEM-Objekt nicht eingef�gt werden. > at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) > at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown > Source) > > Some more ideas ??? > > Thanks, > Stephan > > > > > > > > > -----Original Message----- > From: Gelhar, Wallace Joseph [mailto:[EMAIL PROTECTED] > Sent: Monday, December 15, 2003 3:44 PM > To: OJB Users List > Subject: RE: Mapping problem > > > Hi Stephan, > > OJB does not support class descriptor inheritance for <extent-class> > elements. Try moving your "common" fields from Sellable item into > each of the concrete class descriptors and making Sellable item > non-concrete (it is only an interface after all) such as: > > <class-descriptor class="demo.myshop.model.ojb2.SellableItem" > > <extent-class class-ref="demo.myshop.model.ojb2.ServiceContract" > /> > <extent-class class-ref="demo.myshop.model.ojb2.Product" /> > </class-descriptor> > > Hope this helps. > > Wally > > -----Original Message----- > From: Stephan Wannenwetsch [mailto:[EMAIL PROTECTED] > Sent: Monday, December 15, 2003 4:16 AM > To: [EMAIL PROTECTED] > Subject: Mapping problem > > > Hallo, > > I've got a problem retrieving objects from a m:n relationship: > > Object model: > > class Supplier; > =>Collection items; > > Interface SellableItem; > =>Collection suppliers; > > class Product implements SellableItem; > => Collection suppliers; > > class ServiceContract implements SellableItem; > => Collection suppliers; > > Of course there are some more attributes in each class with the > corresponding getter and setters. > > I use an itermediate table OJB_SUPPLIER_ITEM to realise the m:n > relationship. > > Every thing works fine coming from the supplier side and retriving the > related items of a supplier but I'm not able to retrieve the related > suppliers of an item. > > I hope someone can help me. > > Thanks, > Stephan > > Mapping: > > <class-descriptor > class="demo.myshop.model.ojb2.Supplier" > table="OJB_SUPPLIER"> > <field-descriptor > name="fk_bpid" > column="FK_BPID" > jdbc-type="INTEGER" > primarykey="true" > autoincrement="false" > access="anonymous"/> > > <field-descriptor > name="shippingCost" > column="SHIPPINGCOST" > jdbc-type="INTEGER"/> > > <reference-descriptor > name="businessPartner" > class-ref="demo.myshop.model.ojb2.BusinessPartner"> > <foreignkey field-ref="fk_bpid"/> > </reference-descriptor> > > <collection-descriptor > name="items" > element-class-ref="demo.myshop.model.ojb2.SellableItem" > auto-retrieve="true" > auto-update="true" > indirection-table="OJB_SUPPLIER_ITEM"> > <fk-pointing-to-this-class column="SUPPLIERID"/> > <fk-pointing-to-element-class column="ITEMID"/> > </collection-descriptor> > > </class-descriptor> > > <class-descriptor > class="demo.myshop.model.ojb2.SellableItem" > table="OJB_SELLABLEITEM"> > > <extent-class class-ref="demo.myshop.model.ojb2.ServiceContract" > /> > <extent-class class-ref="demo.myshop.model.ojb2.Product" /> > > <field-descriptor > name="itemId" > column="ITEMID" > jdbc-type="INTEGER" > primarykey="true" > autoincrement="true"/> > > <field-descriptor > name="ojbConcreteClass" > column="CLASS_NAME" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="description" > column="DESCRIPTION" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="price" > column="PRICE" > jdbc-type="INTEGER"/> > > <collection-descriptor > name="suppliers" > element-class-ref="demo.myshop.model.ojb2.Supplier" > auto-retrieve="true" > auto-update="true" > indirection-table="OJB_SUPPLIER_ITEM"> > <fk-pointing-to-this-class column="ITEMID"/> > <fk-pointing-to-element-class column="SUPPLIERID"/> > </collection-descriptor> > </class-descriptor> > > <class-descriptor > class="demo.myshop.model.ojb2.ServiceContract" > table="OJB_SELLABLEITEM"> > > <field-descriptor > name="itemId" > column="ITEMID" > jdbc-type="INTEGER" > primarykey="true" > autoincrement="true"/> > > <field-descriptor > name="ojbConcreteClass" > column="CLASS_NAME" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="description" > column="DESCRIPTION" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="price" > column="PRICE" > jdbc-type="INTEGER"/> > > <field-descriptor > name="period" > column="PERIOD" > jdbc-type="INTEGER"/> > </class-descriptor> > > <class-descriptor > class="demo.myshop.model.ojb2.Product" > table="OJB_SELLABLEITEM"> > > <field-descriptor > name="itemId" > column="ITEMID" > jdbc-type="INTEGER" > primarykey="true" > autoincrement="true"/> > > <field-descriptor > name="ojbConcreteClass" > column="CLASS_NAME" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="description" > column="DESCRIPTION" > jdbc-type="VARCHAR"/> > > <field-descriptor > name="price" > column="PRICE" > jdbc-type="INTEGER"/> > > <field-descriptor > name="weight" > column="WEIGHT" > jdbc-type="INTEGER"/> > </class-descriptor> > > --------------------------------------------------------------------- > 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] > > > > --------------------------------------------------------------------- > 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] > > > > --------------------------------------------------------------------- > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
