Armin

I remove the couponSlug instance from the collection in the Order class.  And 
yes, that seems to be the problem.  The removed couponSlug instance is deleted 
AFTER all other CouponSlug instances of the Order are stored instead of first, 
in which case orderId and sequence number would not exist in the database and 
we would not blow up on the PK_COUPON_SLUGS constraint.  

Can you help me understand why the insert happens before the delete.

Thanks
Deb

-----Original Message-----
From: Armin Waibel [mailto:[EMAIL PROTECTED]
Sent: Tuesday, February 22, 2005 12:31 PM
To: OJB Users List
Subject: Re: Persistence question


Hi Deb,

Deborah Nunley wrote:
> 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.   
> 

I must admit that I'm confused. In your code example you say that you 
delete an Product from Order and add another one. How does this affect 
CouponSlug?
<snip>
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.
</snip>

Do you remove a CouponSlug instance or do you remove it from the 
collection of CouponSlugs in Order class? In the second case the removed 
instance will be deleted after all other CouponSlug instances of the 
Order are stored - is this the problem? If not, some detailed pseudo 
code will be helpful.

regards,
Armin


> 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,backgrou
n
> 
> 
>>[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.co
l
> 
> 
>>[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 in
d
> 
> 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]

---------------------------------------------------------------------
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