I'm really confused by the statement "We do not like save-update
feature". What is there not to like? it's how you get the
functionality you desire from NH. Otherwise it sounds like the naive
mindset of using 3rd party tools ... I want your tool to work my
way.... NH is extremely flexible, but it isn't magic. It can only
knows what to do because you told it. you tell it through the
mappings.

On Sep 30, 8:09 am, Fabio Maulo <[email protected]> wrote:
> well... it depend on which method you will use.
> btw don't say "We do not like save-update feature" if you want work the way
> you have described.
>
> On Thu, Sep 30, 2010 at 9:05 AM, alexey_baranov <[email protected]> wrote:
> > 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]>
>
> > > > > > <nhusers%[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]>
>
> > > > <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
>
> ...
>
> read more »

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

Reply via email to