Yep that seemed to be it, not sure why the db2hbm generator would have done that. Maybe cant handle self referencing foreign key constraints?
On Tue, Jul 13, 2010 at 10:00 AM, Tuna Toksoz <[email protected]> wrote: > Tariq, > > <many-to-one name="Parent" class="TblProduct" column="ProductID" > not-null="true" /> > > This is the problem. column="ParentID" would probably solve it. > > Tuna Toksöz > Eternal sunshine of the open source mind. > > http://devlicio.us/blogs/tuna_toksoz > http://tunatoksoz.com > http://twitter.com/tehlike > > > > > On Tue, Jul 13, 2010 at 2:56 AM, Tariq <[email protected]> wrote: > >> Hi, >> >> I must be missing something very important in the concept to get this >> error so any help appreciated. >> >> I get >> ----> System.Data.SqlClient.SqlException : Cannot update identity >> column 'ProductID'. >> >> when i run this >> >> var tblEvent = session.Load<TblEvent>(17); >> tblEvent.Code+= " - test update"; >> using (var tran = session.BeginTransaction()) >> { >> session.SaveOrUpdate(tblEvent); >> tran.Commit(); >> } >> >> >> Heres the mapping file >> >> <?xml version="1.0" encoding="utf-8"?> >> <hibernate-mapping namespace="Amblique.Booking.BLL" >> assembly="Amblique.Booking.BLL" xmlns="urn:nhibernate-mapping-2.2" > >> <class name="TblProduct" table="tblProduct" schema="dbo"> >> <id name="_productID" access="field" column="ProductID" >> type="Int32" > >> <generator class="native" /> >> </id> >> <property name="Active" type="Boolean" not-null="true" /> >> <property name="AllowBackOrder" type="Boolean" not-null="true" /> >> <property name="BuyY" type="Int32" precision="10" /> >> <property name="BuyYQty" type="Int32" precision="10" /> >> <property name="CategoryID" type="Int32" precision="10" /> >> <property name="Code" type="String" length="50" /> >> <property name="ColourID" type="Int32" precision="10" /> >> <property name="ColourNameOverride" type="String" length="250" /> >> <property name="Cost" type="Decimal" precision="10" not- >> null="true" /> >> <property name="CreatedBy" type="Int32" precision="10" /> >> <property name="CreatedDate" type="DateTime" /> >> <property name="CustomSort1" type="Int32" precision="10" /> >> <property name="CustomSort2" type="Int32" precision="10" /> >> <property name="CustomSort3" type="Int32" precision="10" /> >> <property name="DefaultImageID" type="Int32" precision="10" /> >> <property name="Depth" type="Decimal" precision="10" not- >> null="true" /> >> <property name="DispatchCategoryID" type="Int32" precision="10" /> >> <property name="DisplayIfNoStock" type="Boolean" not-null="true" / >> > >> <property name="GetXFree" type="Int32" precision="10" /> >> <property name="GetXPercentDiscount" type="Decimal" precision="6" / >> > >> <property name="Height" type="Decimal" precision="10" not- >> null="true" /> >> <property name="IsFavourite" type="Boolean" not-null="true" /> >> <property name="IsFeatured" type="Boolean" not-null="true" /> >> <property name="IsInSite" type="Int32" precision="10" /> >> <property name="IsSpecial" type="Boolean" not-null="true" /> >> <property name="Keywords" type="String" length="250" /> >> <property name="LongDescription" length="2147483647" /> >> <property name="LongDescription2" length="2147483647" /> >> <property name="LongDescription3" length="2147483647" /> >> <property name="ManufacturerID" type="Int32" precision="10" /> >> <property name="Name" type="String" length="250" not-null="true" / >> > >> <property name="NoStockMessage" type="String" length="250" /> >> <property name="OrderRanking" type="Int32" precision="10" /> >> <property name="ParentID" type="Int32" precision="10" /> >> <property name="Price" type="Decimal" precision="10" not- >> null="true" /> >> <property name="PriceMember" type="Decimal" precision="10" /> >> <property name="PriceRRP" type="Decimal" precision="10" /> >> <property name="PriceSpecial" type="Decimal" precision="10" /> >> <property name="PromotionID" type="Int32" precision="10" /> >> <property name="RefExt" type="String" length="250" /> >> <property name="SellBundledOnly" type="Boolean" /> >> <property name="Sex" type="Int32" precision="10" /> >> <property name="ShortDescription" type="String" length="500" not- >> null="true" /> >> <property name="Size" type="String" length="50" /> >> <property name="SizeID" type="Int32" precision="10" /> >> <property name="SizeNameOverride" type="String" length="250" /> >> <property name="SizeUnit" type="String" length="10" /> >> <property name="SpecialEnd" type="DateTime" /> >> <property name="SpecialStart" type="DateTime" /> >> <property name="Status" type="Boolean" not-null="true" /> >> <property name="Stock" type="Int32" precision="10" not- >> null="true" /> >> <property name="SupplierID" type="Int32" precision="10" /> >> <property name="TaxExempt" type="Boolean" not-null="true" /> >> <property name="UpdateBy" type="Int32" precision="10" /> >> <property name="UpdateDate" type="DateTime" /> >> <property name="WeightKG" type="Decimal" precision="10" not- >> null="true" /> >> <property name="Width" type="Decimal" precision="10" not- >> null="true" /> >> <many-to-one name="Parent" class="TblProduct" column="ProductID" >> not-null="true" /> >> <bag name="TblProducts" table="tblProduct" inverse="true"> >> <key column="ProductID" /> >> <one-to-many class="TblProduct" /> >> </bag> >> <joined-subclass name="TblEvent" table="tblEvent"> >> <key column="EventID" /> >> <property name="AttachmentFileURL" type="String" >> length="200" /> >> <property name="GLAccountNo" type="String" length="20" /> >> <property name="MultiDayEvent" type="Boolean" >> not-null="true" /> >> <property name="PromotionActive" type="Boolean" >> not-null="true" /> >> <property name="RequiresLogin" type="Boolean" >> not-null="true" /> >> <property name="TopLevelCategoryID" type="Int32" >> precision="10" not- >> null="true" /> >> <property name="TotalAllocation" type="Int32" >> precision="10" not- >> null="true" /> >> <bag name="TblSessionTemplates" table="tblSessionTemplate" >> inverse="true"> >> <key column="EventID" /> >> <one-to-many class="TblSessionTemplate" /> >> </bag> >> <bag name="TblSessions" table="tblSession" inverse="true"> >> <key column="EventID" /> >> <one-to-many class="TblSession" /> >> </bag> >> </joined-subclass> >> >> </class> >> </hibernate-mapping> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "nhusers" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<nhusers%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/nhusers?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
