Or you have to go to your NHibernate3 cookbook page 184

On Tue, Apr 26, 2011 at 1:35 PM, Ricardo Peres <[email protected]> wrote:

> Do your long or int fields map to nullable columns in the database?
> If so, you must map them as long ? or int ?.
>
>
> On Apr 26, 3:01 pm, Maximilian Raditya <[email protected]> wrote:
> > No problem, Peter. I'd like to see if I could offer any help here.
> >
> > So, let me summarize your situation. Please clarify whether it's correct
> or
> > not:
> >
> >    1. You have parent-child like domain model, the parent = Group, the
> child
> >    = Document/DocumentBase, with one-to-many relationship.
> >    2. You observed that updating a child from a parent causing other
> >    children from other parent to be update as well, when you expected
> they
> >    shouldn't be.
> >    3. You're updating the entity from the child side not from the parent
> >    one, but your mapping <bag /> doesn't have inverse=true attribute.
> >
> > For point #3, how about adding inverse=true to your <bag /> mapping and
> > observe the difference. I'd suggest you to see section 20.2
> (Bidirectional
> > one-to-many) in the NH doc.
> >
> > Also, could you elaborate more your session usage pattern, the sequence I
> > mean. For example:
> > - Open ISession
> > - Load GROUP #1
> > - Update a property in DOCUMENT of GROUP #1
> > - Update DOCUMENT
> > - Flush ISession
> >
> > --
> > Regards,
> >
> > Maximilian Haru Raditya
> >
> >
> >
> >
> >
> >
> >
> > On Tue, Apr 26, 2011 at 8:14 PM, PLen <[email protected]> wrote:
> > > Maximilian,
> >
> > > Thanks for the continued reponses.  As for the DOCUMENT mapping, the
> > > domain object looks like:
> >
> > > public class RptDocumentBase {
> > >        public RptDocumentBase() { }
> > >        public virtual long DocBaseId { get; set; }
> > >        public virtual RptIngestGroup RptIngestGroup { get; set; }  //
> > > The GROUP object
> > > }
> >
> > > and the mapping file looks like:
> >
> > > <hibernate-mapping assembly="IcebergDatabaseAccess"
> > > namespace="IcebergDatabaseAccess.Domain" xmlns="urn:nhibernate-
> > > mapping-2.2">
> >
> > >  <class name="RptDocumentBase" table="ICEBERG.RPT_DOCUMENT_BASE"
> > > lazy="true" >
> > >    <id name="DocBaseId" type="Int64" column="DOC_BASE_ID">
> > >      <generator class="sequence">
> > >        <param name="sequence">ICEBERG.SEQ_RPT_DOCUMENT_BASE</param>
> > >      </generator>
> > >    </id>
> > >       <many-to-one name="RptIngestGroup" column="INGEST_GROUP_ID"/>
> > > ...........
> >
> > > The updates are using the NHibernate "Update" command where I pass in
> > > the object (ie the RptIngestGroup object).  As far as the session
> > > goes, I found out early on that I had to use the same session that was
> > > used to query for the data if I wanted to update the data.  So, yes, I
> > > am using the same session.  In the case that I have, I have only
> > > updated the in-memory DOCUMENT object from GROUP 1 when I go to do the
> > > NHibernate "update" of GROUP 2.  When looking at the output console,
> > > NHibernate shows an UPDATE command for my DOCUMENT, along with toehr
> > > UPDATE commands concerning any DOCUMENT objects that were part of
> > > GROUP 2.  Again, there is nothing that links my DOCUMENT to GROUP 2.
> > > It is almost as if NHibernate checks everything it got back from the
> > > query to see if any of the objects are different, regardless if they
> > > are attached to the object being sent in for the update.
> >
> > > - Peter
> >
> > > --
> > > 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.
>
> --
> 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.
>
>


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

Reply via email to