OK. We do not like "save-update" feature. May we set just default- cascade="persist" ?
Thanks! On Sep 30, 5:27 pm, Fabio Maulo <[email protected]> wrote: > What you have to do is set default-cascade="save-update, persist" at the top > of each mapping. > I don't like it at all but you know what you need. > > > > On Thu, Sep 30, 2010 at 6:26 AM, alexey_baranov <[email protected]> wrote: > > I'm not sure understand what you ask, But I'l try > > > We have a code where Obj inherited classes (Request, Person, Client, > > Network....) returns like base Obj type (Everything is Obj in out > > solution/ Like in AD, LDAP or other catalog) > > > And we have many many views for each entity type. Like > > NetworkEquipmentView, ClientView, FolderView, PersonView, .... > > > class ObjView: UserControl{ > > Obj Model(){ > > set <...} > > get { > > ... > > return _model; > > } > > } > > } > > > Now imagine user click "Save" button. We get Obj refference to View's > > model (but we do not know what type exactly) and need to save it. > > > var model= SomeView.Model; //hire we have any Obj for example Person. > > Sometimes it refference to new Entity. Mayby it refference to > > transient Parent, mayby it refference to transient Attachment, mayby > > model is not a Peston but File at all > > session.Save(model); //and hire we want to save all unsaved > > refferenced entities before saving model. But have Exception "unable > > to save entity, save unsaved referenced entity first" > > > what we have to do hire is to check model type and then chek is > > refference properties transient or not like this > > > if (model is Folder){ > > if (model have unsaved attachments){ > > save unsaved attachments > > } > > } > > else if (model is Request){ > > if (model have unsaved initier){ > > save initier > > } > > if (model have unsaved doers){ > > save unsaved doers > > } > > if (model have unsave .....) > > } > > else if (.... > > ..... > > } > > esle if > > else if > > ..... > > .... > > } > > > We have many other places where we got returned polimorphoc entity > > like base class Obj > > Hope you understand me > > > Thanks! > > > <?xml version="1.0" encoding="utf-8" ?> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > > assembly="Helpdesk" namespace="Helpdesk"> > > <class name="Obj" discriminator-value="9"> > > <id name="Id"> > > <generator class="native" /> > > </id> > > <discriminator column="Typee" type="Int32"/> > > <timestamp name="Modifed"/> > > <property name="Path" access="nosetter.camelcase-underscore" not- > > null="true"/> > > <property name="Name" column="Namee" not-null="true"/> > > <property name ="IsFolder" access="nosetter.camelcase-underscore"/ > > > <property name="Note"/> > > <property name="Created" not-null="true"/> > > <many-to-one name="Owner" column ="Ownerr" /> > > <many-to-one name ="Parent" access="nosetter.camelcase-underscore"/ > > > <set name="Children" inverse="true"> > > <key column="Parent"/> > > <one-to-many class="Obj"/> > > </set> > > <set name="Attachments" table="Obj_Attachments" cascade="save- > > update"> > > <key column="Obj"/> > > <many-to-many column="Attachment" class="Filee"/> > > </set> > > </class> > > </hibernate-mapping> > > > <?xml version="1.0" encoding="utf-8" ?> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > > assembly="Helpdesk" namespace="Helpdesk"> > > <subclass name="Folder" extends ="Obj" discriminator-value="42"> > > <!--<join table="Folder"> > > <key column="Id"/> > > </join>--> > > </subclass> > > </hibernate-mapping> > > > <?xml version="1.0" encoding="utf-8" ?> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > > assembly="Helpdesk" namespace="Helpdesk"> > > <subclass name="Request" extends ="Obj" discriminator-value="41"> > > <!--<join table="Request"> > > <key column="Id"/>--> > > <property name="Text" column="Textt"/> > > <property name="Deadline"/> > > <property name="Closed"/> > > <property name="CallbackOn"/> > > <many-to-one name ="Initier" fetch="join"/> > > <list name="Doers" table="Request_Doers"> > > <key column="Request"/> > > <index column="i"/> > > <many-to-many column="Doer" class="Department"/> > > </list> > > <!--</join>--> > > </subclass> > > </hibernate-mapping> > > > <?xml version="1.0" encoding="utf-8" ?> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > > assembly="Helpdesk" namespace="Helpdesk"> > > <subclass name="Note" extends ="Obj" discriminator-value="63"> > > <!--<join table="Note"> > > <key column="Id"/>--> > > <property name="Text" column="Textt"/> > > <!--</join>--> > > </subclass> > > </hibernate-mapping> > > > .... > > ... > > ... > > ... > > > On Sep 29, 4:15 pm, Fabio Maulo <[email protected]> wrote: > > > A little graph with your mapping. > > > > On Wed, Sep 29, 2010 at 5:20 AM, alexey_baranov <[email protected]> > > wrote: > > > > I'm not shure understand you. What is this "save-update, persist" ? Is > > > > it existed feature or just the abbreviation for our wish? I have never > > > > see "persist". We do not need cascade "save-update, persist", just > > > > "persist". > > > > > I can share any mapping information you need. This is not a big > > > > seecret. What does exactly you ask? Mapping files? code listing or > > > > litle example? > > > > > Thanks! > > > > > On Sep 29, 3:30 am, Fabio Maulo <[email protected]> wrote: > > > > > I would say that what you are looking for is > > > > default-cascade="save-update, > > > > > persist" but I would be sure. > > > > > > If the question will not sound "rude" (today was again another of > > those > > > > day, > > > > > in public and privately), > > > > > > can you show us an example ? > > > > > > A little graph with your mapping. > > > > > > On Tue, Sep 28, 2010 at 1:11 PM, alexey_baranov <[email protected]> > > > > wrote: > > > > > > Hi! > > > > > > > We have to implement new method SaveGraph(), wich will be like > > > > > > original ISession.Save() except automatic saving refferenced > > transient > > > > > > entities insted throwin exception.We need this feature in many > > cases > > > > > > when working with polimorphic entities and do not know exactly what > > > > > > type is used. We ask more experienced users and developers voice is > > it > > > > > > feasible work. > > > > > > > Thanks. > > > > > > > -- > > > > > > 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]> > > <nhusers%[email protected]<nhusers%[email protected]> > > > > > <nhusers%[email protected]<nhusers%[email protected]> > > <nhusers%[email protected]<nhusers%[email protected]> > > > > > > > . > > > > > > For more options, visit this group at > > > > > >http://groups.google.com/group/nhusers?hl=en. > > > > > > -- > > > > > Fabio Maulo > > > > > -- > > > > 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]> > > <nhusers%[email protected]<nhusers%[email protected]> > > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/nhusers?hl=en. > > > > -- > > > Fabio Maulo > > > -- > > 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. > > -- > Fabio Maulo -- 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.
