Armin

I was able to recreate the problem.  Our order.add(cs) method iterates through 
the collection of slugs and returns a sequenceId one greater than the largest 
number.  In the case of the 2nd insert, the collection of slugs is empty 
therefore sequenceId = 1.   We have 2 constraints on the Coupon_Slugs table

 CONSTRAINT PK_COUPON_SLUGS
 PRIMARY KEY CLUSTERED (Order_id,Coupon_Slug_Sequence_id),
 CONSTRAINT AK_CouponSlugs
 UNIQUE NONCLUSTERED (Coupon_Slug_id)

OJB appears to be attempting to insert the 2nd slug before deleting the first, 
therefore we break on the PK_COUPON_SLUGS constraint.   

deb

-----Original Message-----
From: Armin Waibel [mailto:[EMAIL PROTECTED]
Sent: Friday, February 18, 2005 8:49 PM
To: OJB Users List
Subject: Re: Persistence question


Hi Deb,

the declaration of the 1:n relation between Order and CouponSlug is 
correct. If you copy or serialize CouponSlug objects it's not allowed to 
declare the 'orderId' field anonymous (only in conjunction with 1:1 
references)
http://db.apache.org/ojb/docu/guides/advanced-technique.html#How+do+

If this isn't the problem, please send to my account a test case showing 
the problem (or a file with detailed pseudo code). Then I will try to 
setup your problem locally with existing classes in OJB tests suite.

regards,
Armin


Deborah Nunley wrote:
> Armin
> 
> Did involved objects Order or CouponSlug or Product share their database 
> table with other objects?  No - We do not have a product class.
> 
> If yes, do you use ojbContrecteClass feature? N/A
> 
> Which sequence manager do you use? Our own
> 
> Additionally
> When we are storing the 2nd product, the "deleted" CouponSlug is showing up 
> in the RemovalAwareCollection under ItemsToBeRemoved, but no SQL DELETE call 
> is ever made.
> 
> Deb
> 
> -----Original Message-----
> From: Armin Waibel [mailto:[EMAIL PROTECTED]
> Sent: Friday, February 18, 2005 12:12 PM
> To: OJB Users List
> Subject: Re: Persistence question
> 
> 
> seems the constraint violation occur when OJB try to store an 1:n 
> relation of the order object. Does CouponSlug inherit from Product or is 
> it used in a separate relation of Order? Is it possible to post the 
> class-descriptor for Order, Product and CouponSlug?
> Did involved objects Order or CouponSlug or Product share their database 
> table with other objects? If yes, do you use ojbContrecteClass feature?
> Which sequence manager do you use?
> 
> regards,
> Armin
> 
> 
> Deborah Nunley wrote:
> 
>>db-ojb-1.0.1 
>>PersistenceBroker
>>
>>INFO: Rollback was called, do rollback on current connection [EMAIL PROTECTED]
>>org.apache.ojb.broker.KeyConstraintViolatedException: SQL failure while 
>>insert object data for class com.valpak.productorder.couponslug.CouponSlug, 
>>PK of the given object is [ couponSlugId=665058], object was [EMAIL 
>>PROTECTED],sequenceId=1,address=[],[EMAIL 
>>PROTECTED],offerText=offer,additionalDisclaimerText=,[EMAIL 
>>PROTECTED],sequenceId=1,[EMAIL PROTECTED],disclaimerDescription= 
>>,disclaimerText=One coupon per customer.,lastUpdate=Fri Sep 18 00:00:00 EDT 
>>1998]]],productImage=[],expirationDate=<null>,startDate=Tue Aug 31 00:00:00 
>>EDT 2004,endDate=Tue Aug 31 00:00:00 EDT 
>>2004,sequenceId=1,printLimit=0,displayExpiration=true]],webLink=[],productImage=[],printable=true,displayRanking=40000,backgroun

> 
> [EMAIL PROTECTED],colorName=<null>,hexCode=<null>],[EMAIL PROTECTED],[EMAIL 
> PROTECTED],couponSlugTypeName=<null>]], exception message is [Attempt to 
> insert duplicate key row in object 'Coupon_Slugs' with unique index 
> 'PK_COUPON_SLUGS'
> 
>>]
>>      at 
>> org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown 
>> Source)
>>      at 
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToMany(Unknown
>>  Source)
>>      at 
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown 
>> Source)
>>      at 
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkOneToOne(Unknown
>>  Source)
>>      at 
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown 
>> Source)
>>      at org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown 
>> Source)
>>      at 
>> com.valpak.persistence.ojb.OJBPersistenceServiceImpl.storeObject(OJBPersistenceServiceImpl.java:96)
>>      at 
>> com.valpak.vpcoladminservice.VPColAdminServiceImpl.storeOrder(VPColAdminServiceImpl.java:119)
>>      at 
>> com.valpak.vpcoladmin.action.ProcessOrder.processSave(ProcessOrder.java:176)
>>      at 
>> com.valpak.vpcoladmin.action.ProcessOrder.executeAction(ProcessOrder.java:125)
>>      at 
>> com.valpak.vpcoladmin.action.VPColAdminBaseAction.execute(VPColAdminBaseAction.java:43)
>>      at 
>> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
>>      at 
>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
>>      at 
>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1480)
>>      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:524)
>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>      at 
>> com.newatlanta.servletexec.ServletExec.CallServletService(ServletExec.java:1650)
>>      at 
>> com.newatlanta.servletexec.SERequestDispatcher.forwardServlet(SERequestDispatcher.java:274)
>>      at 
>> com.newatlanta.servletexec.SERequestDispatcher.forward(SERequestDispatcher.java:191)
>>      at 
>> com.newatlanta.servletexec.ApplicationInfo.processApplRequest(ApplicationInfo.java:1313)
>>      at 
>> com.newatlanta.servletexec.ServerHostInfo.processApplRequest(ServerHostInfo.java:958)
>>      at 
>> com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1206)
>>      at 
>> com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1056)
>>      at 
>> com.newatlanta.sedebugger.Responder.processServletRequest(Responder.java:269)
>>      at com.newatlanta.sedebugger.Responder.run(Responder.java:92)
>>Caused by: com.sybase.jdbc2.jdbc.SybSQLException: Attempt to insert duplicate 
>>key row in object 'Coupon_Slugs' with unique index 'PK_COUPON_SLUGS'
>>
>>      at com.sybase.jdbc2.tds.Tds.processEed(Tds.java:2738)
>>      at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:2069)
>>      at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
>>      at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:204)
>>      at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:187)
>>      at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1667)
>>      at 
>> com.sybase.jdbc2.jdbc.SybStatement.executeUpdate(SybStatement.java:1650)
>>      at 
>> com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate(SybPreparedStatement.java:104)
>>      ... 36 more
>>com.valpak.exceptions.StoreException: SQL failure while insert object data 
>>for class com.valpak.productorder.couponslug.CouponSlug, PK of the given 
>>object is [ couponSlugId=665058], object was [EMAIL 
>>PROTECTED],sequenceId=1,address=[],[EMAIL 
>>PROTECTED],offerText=offer,additionalDisclaimerText=,[EMAIL 
>>PROTECTED],sequenceId=1,[EMAIL PROTECTED],disclaimerDescription= 
>>,disclaimerText=One coupon per customer.,lastUpdate=Fri Sep 18 00:00:00 EDT 
>>1998]]],productImage=[],expirationDate=<null>,startDate=Tue Aug 31 00:00:00 
>>EDT 2004,endDate=Tue Aug 31 00:00:00 EDT 
>>2004,sequenceId=1,printLimit=0,displayExpiration=true]],webLink=[],productImage=[],printable=true,displayRanking=40000,background=com.valpak.col

> 
> [EMAIL PROTECTED],colorName=<null>,hexCode=<null>],[EMAIL PROTECTED],[EMAIL 
> PROTECTED],couponSlugTypeName=<null>]], exception message is [Attempt to 
> insert duplicate key row in object 'Coupon_Slugs' with unique index 
> 'PK_COUPON_SLUGS'
> 
>>][org.apache.ojb.broker.core.PersistenceBrokerImpl] DEBUG: PB.close was 
>>called: [EMAIL PROTECTED]
>>
>>      at 
>> com.valpak.persistence.ojb.OJBPersistenceServiceImpl.storeObject(OJBPersistenceServiceImpl.java:104)
>>      at 
>> com.valpak.vpcoladminservice.VPColAdminServiceImpl.storeOrder(VPColAdminServiceImpl.java:119)
>>      at 
>> com.valpak.vpcoladmin.action.ProcessOrder.processSave(ProcessOrder.java:176)
>>      at 
>> com.valpak.vpcoladmin.action.ProcessOrder.executeAction(ProcessOrder.java:125)
>>      at 
>> com.valpak.vpcoladmin.action.VPColAdminBaseAction.execute(VPColAdminBaseAction.java:43)
>>      at 
>> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
>>      at 
>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
>>      at 
>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1480)
>>      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:524)
>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>      at 
>> com.newatlanta.servletexec.ServletExec.CallServletService(ServletExec.java:1650)
>>      at 
>> com.newatlanta.servletexec.SERequestDispatcher.forwardServlet(SERequestDispatcher.java:274)
>>      at 
>> com.newatlanta.servletexec.SERequestDispatcher.forward(SERequestDispatcher.java:191)
>>      at 
>> com.newatlanta.servletexec.ApplicationInfo.processApplRequest(ApplicationInfo.java:1313)
>>      at 
>> com.newatlanta.servletexec.ServerHostInfo.processApplRequest(ServerHostInfo.java:958)[2005-02-18
>>  10:52:30,231] com.valpak.vpcoladmin.action.VPColAdminBaseAction - 
>> com.valpak.exceptions.StoreException: SQL failure while insert object data 
>> for class com.valpak.productorder.couponslug.CouponSlug, PK of the given 
>> object is [ couponSlugId=665058], object was [EMAIL 
>> PROTECTED],sequenceId=1,address=[],[EMAIL 
>> PROTECTED],offerText=offer,additionalDisclaimerText=,[EMAIL 
>> PROTECTED],sequenceId=1,[EMAIL PROTECTED],disclaimerDescription= 
>> ,disclaimerText=One coupon per customer.,lastUpdate=Fri Sep 18 00:00:00 EDT 
>> 1998]]],productImage=[],expirationDate=<null>,startDate=Tue Aug 31 00:00:00 
>> EDT 2004,endDate=T

> 
> ue Aug 31 00:00:00 EDT 
> 2004,sequenceId=1,printLimit=0,displayExpiration=true]],webLink=[],productImage=[],printable=true,displayRanking=40000,[EMAIL
>  PROTECTED],colorName=<null>,hexCode=<null>],[EMAIL PROTECTED],[EMAIL 
> PROTECTED],couponSlugTypeName=<null>]], exception message is [Attempt to 
> insert duplicate key row in object 'Coupon_Slugs' with unique index 
> 'PK_COUPON_SLUGS'
> 
>>]
>>
>>      at 
>> com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1206)
>>      at 
>> com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1056)
>>      at 
>> com.newatlanta.sedebugger.Responder.processServletRequest(Responder.java:269)
>>      at com.newatlanta.sedebugger.Responder.run(Responder.java:92)
>>
>>-----Original Message-----
>>From: Armin Waibel [mailto:[EMAIL PROTECTED]
>>Sent: Friday, February 18, 2005 10:39 AM
>>To: OJB Users List
>>Subject: Re: Persistence question
>>
>>
>>Hi Deb,
>>
>>what OJB version do you use? Which api?
>>Could you post the whole stack trace.
>>
>>regards,
>>Armin
>>
>>Deborah Nunley wrote:
>>
>>
>>>Sequence of events
>>>
>>>I create the order with a product and persist it twice (as we gather 
>>>information).
>>>I  delete the product from the order (within the application).
>>>I add another product to the order.
>>>I save the order again.  
>>>
>>>Everything looks good from the debugger but I get the following exception
>>>
>>>SQL failure while insert object data for class 
>>>com.valpak.productorder.couponslug.CouponSlug, PK of the given object is [ 
>>>couponSlugId=665055], object was [EMAIL 
>>>PROTECTED],sequenceId=1,address=[],[EMAIL 
>>>PROTECTED],offerText=offer,additionalDisclaimerText=,couponSlugDisclaimer=[],productImage=[],expirationDate=<null>,startDate=Tue
>>> Aug 31 00:00:00 EDT 2004,endDate=Wed Aug 31 00:00:00 EDT 
>>>2005,sequenceId=1,printLimit=0,displayExpiration=true]],webLink=[],productImage=[],printable=true,displayRanking=39000,[EMAIL
>>> PROTECTED],colorName=<null>,hexCode=<null>],[EMAIL PROTECTED],[EMAIL 
>>>PROTECTED],couponSlugTypeName=<null>]], exception message is [Attempt to 
>>>insert duplicate key row in object 'Coupon_Slugs' with unique ind
e
> 
> 
>>x 'PK_COUPON_SLUGS'
>>
>>
>>>Deb Nunley
>>>
>>>
>>
>>
>>---------------------------------------------------------------------
>>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]
> 
> 
> 
> ------------------------------------------------------------------------
> 
> <class-descriptor
>     class="com.valpak.productorder.couponslug.CouponSlug"
>     table="Coupon_Slugs">
>     
>     <field-descriptor
>         name="orderId"
>         column="Order_id"
>         jdbc-type="INTEGER"
>         access="anonymous">
>     </field-descriptor>
>     
>     <field-descriptor
>         name="couponSlugId"
>         column="Coupon_Slug_id"
>         jdbc-type="INTEGER"
>         autoincrement="true" 
>         sequence-name="dp_AutoGen"
>         primarykey="true">
>     </field-descriptor>
>     
>     <field-descriptor
>         name="couponSlugTypeId"
>         column="Coupon_Slug_Type_id"
>         jdbc-type="INTEGER"
>         access="anonymous">
>     </field-descriptor>
>     <reference-descriptor
>               name="couponSlugType"
>               auto-retrieve="true"
>       auto-update="false"
>       auto-delete="false"
>               class-ref="com.valpak.productorder.couponslug.CouponSlugType">
>         <foreignkey field-ref="couponSlugTypeId"/>
>       </reference-descriptor> 
>     
>     <field-descriptor
>         name="sequenceId"
>         column="Coupon_Slug_Sequence_id"
>         jdbc-type="INTEGER">
>     </field-descriptor>
>    
>     <field-descriptor
>         name="displayRanking"
>         column="Display_Rank"
>         jdbc-type="INTEGER">
>     </field-descriptor>
>     
>     <field-descriptor
>               name="printable"
>               column="Printable"
>               jdbc-type="BIT">
>     </field-descriptor>
>     
>   
>   
>     <collection-descriptor
>         name="webLink"
>         
> element-class-ref="com.valpak.productorder.couponslug.CouponSlugWebLink"
>         auto-retrieve="true"
>         auto-update="true"
>         auto-delete="true">
>         <inverse-foreignkey field-ref="couponSlugId"/>
>     </collection-descriptor>
>     
>     <collection-descriptor
>         name="productImage"
>         element-class-ref="com.valpak.product.option.ProductImage"
>         indirection-table="Coupon_Slug_Images"
>         auto-retrieve="true"
>         auto-update="true"
>         auto-delete="true">
>         <fk-pointing-to-this-class column="Coupon_Slug_id"/>
>         <fk-pointing-to-element-class column="Image_id"/>
>     </collection-descriptor>  
>     
>     <field-descriptor
>         name="colorId"
>         column="Color_id"
>         jdbc-type="INTEGER"
>         access="anonymous"> 
>     </field-descriptor>
>     <reference-descriptor
>               name="background"
>               auto-retrieve="true"
>       auto-update="false"
>       auto-delete="false"
>               class-ref="com.valpak.color.Color">
>         <foreignkey field-ref="colorId"/>
>       </reference-descriptor> 
>       
>       <collection-descriptor
>         name="address"
>         
> element-class-ref="com.valpak.productorder.couponslug.CouponSlugAddress"
>         auto-retrieve="true"
>         auto-update="true"
>         auto-delete="true">
>         <inverse-foreignkey field-ref="couponSlugId"/>
>     </collection-descriptor>
>     
>    <collection-descriptor
>         name="offer"
>         element-class-ref="com.valpak.productorder.couponslug.CouponSlugOffer"
>         auto-retrieve="true"
>         auto-update="true"
>         auto-delete="true">
>         <inverse-foreignkey field-ref="couponSlugId"/>
>     </collection-descriptor>
>     
>      <field-descriptor
>         name="zoneMapId"
>         column="Zone_Map_id"
>         access="anonymous"
>         jdbc-type="INTEGER">
>     </field-descriptor>
>     <reference-descriptor
>               name="zoneMap"
>               auto-retrieve="true"
>       auto-update="true"
>       auto-delete="false"
>               class-ref="com.valpak.targetedcontent.ZoneMap">
>        <foreignkey field-ref="zoneMapId"/>
>       </reference-descriptor>  
> </class-descriptor>
> 
> <class-descriptor
>     class="com.valpak.order.Order"
>     table="Orders">
>     
> 
>     <field-descriptor
>         name="orderId"
>         column="Order_id"
>         jdbc-type="INTEGER"
>         autoincrement="true" 
>         sequence-name="dp_AutoGen"
>         primarykey="true">
>     </field-descriptor>   
>    
>     <field-descriptor
>         name="businessName"
>         column="Business_Name"
>         jdbc-type="VARCHAR">
>     </field-descriptor> 
>     
>       <field-descriptor
>         name="dataPartnerId"
>         column="Data_Partner_id"
>         jdbc-type="INTEGER"
>         access="anonymous">
>     </field-descriptor>
>      <reference-descriptor
>               name="dataPartner"
>               auto-retrieve="true"
>       auto-update="false"
>       auto-delete="false"
>               class-ref="com.valpak.partner.DataPartner">
>         <foreignkey field-ref="dataPartnerId"/>
>       </reference-descriptor> 
>       
>     <field-descriptor
>         name="orderStatusId"
>         column="Order_Status_id"
>         jdbc-type="VARCHAR"
>         access="anonymous">
>     </field-descriptor>
>     <reference-descriptor
>               name="status"
>               auto-retrieve="true"
>       auto-update="false"
>       auto-delete="false"
>               class-ref="com.valpak.order.OrderStatus">
>         <foreignkey field-ref="orderStatusId"/>
>       </reference-descriptor> 
>       
>       <field-descriptor
>         name="tcDescriptorId"
>         column="Targeted_Content_Descriptor_id"
>         jdbc-type="INTEGER"
>         access="anonymous">
>     </field-descriptor>
>     <reference-descriptor
>               name="tcDescriptor"
>               auto-retrieve="true"
>       auto-update="true"
>       auto-delete="true"
>               
> class-ref="com.valpak.targetedcontent.TargetedContentDescriptor">
>         <foreignkey field-ref="tcDescriptorId"/>
>       </reference-descriptor> 
>        
>     <field-descriptor
>         name="naicsId"
>         column="NAIC_id"
>         jdbc-type="INTEGER"
>         access="anonymous">
>     </field-descriptor>
>     <reference-descriptor
>               name="naics"
>               auto-retrieve="true"
>       auto-update="false"
>       auto-delete="false"
>               class-ref="com.valpak.naics.VPColNaics">
>         <foreignkey field-ref="naicsId"/>
>       </reference-descriptor> 
>       
>       <collection-descriptor
>         name="couponSlug"
>         element-class-ref="com.valpak.productorder.couponslug.CouponSlug"
>         auto-retrieve="true"
>         auto-update="true"
>         auto-delete="true">
>         <inverse-foreignkey field-ref="orderId"/>
>     </collection-descriptor> 
>       
>    <collection-descriptor
>         name="targetedLink"
>         element-class-ref="com.valpak.productorder.targetedlink.TargetedLink"
>         auto-retrieve="true"
>         auto-update="true"
>         auto-delete="true">
>         <inverse-foreignkey field-ref="orderId"/>
>     </collection-descriptor> 
>     
>     <collection-descriptor
>         name="transactionHistory"
>         element-class-ref="com.valpak.order.OrderTransactionHistory"
>         auto-retrieve="true"
>         auto-update="true"
>         auto-delete="true">
>         <inverse-foreignkey field-ref="orderId"/>
>     </collection-descriptor>
>     
>     
>   <collection-descriptor
>         name="salesStaff"
>         element-class-ref="com.valpak.order.SalesStaffOrder"
>         auto-retrieve="true"
>         auto-update="true"
>         auto-delete="true">
>         <inverse-foreignkey field-ref="orderId"/>
>    </collection-descriptor>   
> </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]


<class-descriptor
    class="com.valpak.order.Order"
    table="tempdb..Orders">
    
    <field-descriptor
        name="orderId"
        column="Order_id"
        jdbc-type="INTEGER"
        autoincrement="true" 
        sequence-name="dp_AutoGen"
        primarykey="true">
    </field-descriptor>   
   
 	<collection-descriptor
        name="couponSlug"
        element-class-ref="com.valpak.productorder.couponslug.CouponSlug"
        auto-retrieve="true"
        auto-update="true"
        auto-delete="true">
        <inverse-foreignkey field-ref="orderId"/>
    </collection-descriptor> 
 	
  </class-descriptor> 


<class-descriptor
    class="com.valpak.productorder.couponslug.CouponSlug"
    table="tempdb..Coupon_Slugs">
    
    <field-descriptor
        name="orderId"
        column="Order_id"
        jdbc-type="INTEGER"
        access="anonymous">
    </field-descriptor>
    
    <field-descriptor
        name="couponSlugId"
        column="Coupon_Slug_id"
        jdbc-type="INTEGER"
        autoincrement="true" 
        sequence-name="dp_AutoGen"
        primarykey="true">
    </field-descriptor>
    
    <field-descriptor
    	name="sequenceId"
    	column="Coupon_Slug_Sequence_id"
    	jdbc-type="INTEGER">
    </field-descriptor>
    
 </class-descriptor>

 
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to