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]

Reply via email to