sorry i didn't saw that it was the same number, that is weird.
is a string? something like "1234    " is not equals to "1234"?

2011/2/28 <[email protected]>

> Ah ok, that sounds good. But the user can not change the StrIdent. It is
> generated by an other application and is unique.
> But why says the exception "ID was altered from 1234 to 1234"? 1234 equals
> 1234 so where is the modification?
> Anyway, i changed it to assigned now.
>
>
> Am schrieb "José F. Romaniello" <[email protected]>:
> > If an user can change the StrIdent property of an already persisted
> object, you will get the exception you shown on the first mail.If that your
> case, you need to map the POID as assigned. And you can write your property
> as follows:
> >
> >
> >
> > public string StrIdent {get; set;}
> >
> >
> > public int Id {
> > get { return int.Parse(StrIdent); }
> > set { StrIdent = value.ToString(); }
> > }
> >
> >
> >
> > Then in your mappings:
> >
> >
> >
> >   name="Id">
> >
> >     class="assigned" />
>
> >
> >
> >
> > 2011/2/28 [email protected]>
> >
> > for 2)
> > that's what i'm doing. I did override the NativeIdentifierGeneratorClass
> Property and return
> > there my Id generator. Therefore every id mapping is marked as "native".
> >
> > for 3)
> > I do this now. But i really don't understand why the exception occurs
> when using the
> >
> > id generator. I wanted to avoid the assigned id because of the need to
> use save/update
> > and i don't want this "logic" to assign the ID in the code of my entity
> class.
> >
> >
> >
> >
> >
> > Am schrieb "José F. Romaniello" [email protected]>:
> > > I'm with John on this one, you should:
> > >
> > > 1-remove all the strident thing in you custom id generator
> >
> > >
> > > 2-use your id generator as default for every mapping (you can override
> > >
> > > the “native generator class" in a custom dialect and use native on
> > >
> > > every mapping)
> > >
> > > 3-for the table/class that uses strident, set assigned instead of
> >
> > >
> > > native, and do the logic in the entity class.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > 2011/2/26, [email protected] [email protected]>:
> >
> > >
> > > > As far as i understood all this, i have to use native, if i want to
> provide
> > >
> > > > my own ID generation. And i need this because the DB uses a TBL_IDEN
> for
> > >
> > > > ID's.
> >
> > >
> > > > And in case of the PInfo Class there is no TBL_IDEN entry because the
> ID
> > >
> > > > results from the StrIdent. So, since all the NH ID generators will
> not work,
> > >
> > > > i have to use my own.
> >
> > >
> > > >
> > >
> > > >
> > >
> > > > Am schrieb John Davidson [email protected]>:
> > >
> > > >> Why do you need that override if you want to use native. If you are
> using
> >
> > >
> > > >>
> > >
> > > >> native, then there should be no override that sets the id value
> anywhere
> > >
> > > >> in your code.
> > >
> > > >
> > >
> > > >> John Davidson
> >
> > >
> > > >
> > >
> > > >
> > >
> > > >> On Sat, Feb 26, 2011 at 12:27 PM, [email protected]>
> wrote:
> >
> > >
> > > >
> > >
> > > >> I don't really want to manage the ID value in code. That's why i use
> the
> > >
> > > >> IdentifierGenerator with the
> > >
> > > >> overridden Generate method. So the ID is assigned from NH. I never
> touch
> >
> > >
> > > >> the ID in my code.
> > >
> > > >
> > >
> > > >> Am schrieb John Davidson [email protected]>:
> > >
> > > >
> >
> > >
> > > >
> > >
> > > >> > If you are managing the Id value in your code you should use a
> > >
> > > >> generator of "assigned" rather than "native".
> > >
> > > >> >
> >
> > >
> > > >> > John Davidson
> > >
> > > >> >
> > >
> > > >> > On Sat, Feb 26, 2011 at 10:56 AM, [email protected]>
> wrote:
> >
> > >
> > > >
> > >
> > > >> >
> > >
> > > >> > It would be very nice, if someone could take a quick look at the
> > >
> > > >> described problem. Maybe i do something totally wrong, but i'm
> >
> > >
> > > >> >
> > >
> > > >> > runing a little out of time and don't know what to do. Thanks
> > >
> > > >
> > >
> > > >> >
> > >
> > > >> >
> > >
> >
> > > >> > Am schrieb [email protected]:
> > >
> > > >> >
> > >
> > > >> >
> >
> > >
> > > >> > > I have to correct the code form the last post it:
> > >
> > > >
> > >
> > > >> > >
> > >
> > > >> > > public override object Generate(ISessionImplementor session,
> object
> >
> > >
> > > >> obj)
> > >
> > > >> > > {
> > >
> > > >> > > if( obj is Domain.Base.PInfo )
> > >
> > > >> >
> > >
> > > >> > > {
> > >
> > > >> > > int nID = 0;
> >
> > >
> > > >
> > >
> > > >> > > if( int.TryParse((obj as Domain.Base.PInfo).StrIdent,out nID) )
> > >
> > > >> > > {
> > >
> > > >> > > return nID;
> > >
> > > >> > > }
> >
> > >
> > > >> > > return null;
> > >
> > > >> >
> > >
> > > >> > > }
> > >
> > > >
> > >
> > > >> > > return base.Generate(session,obj);
> > >
> > > >> > > }
> >
> > >
> > > >> > >
> > >
> > > >> > > So i thought i give back the ID for the new entity. Not right?
> > >
> > > >> > > Ther inheritance from TableGenerator is because the DB has a
> TBL_IDEN
> >
> > >
> > > >> > >
> > >
> > > >> Table, so i do this in
> > >
> > > >
> > >
> > > >> >
> > >
> > > >> > > the Configure method:
> > >
> > > >> > >
> >
> > >
> > > >> >
> > >
> > > >> > > public override void Configure(IType type, IDictionary parms,
> Dialect
> > >
> > > >> > >
> > >
> > > >> dialect)
> > >
> > > >> > > {
> >
> > >
> > > >> > > string strTable = parms["target_table"];
> > >
> > > >
> > >
> > > >> >
> > >
> > > >> > > string strColumn = parms["target_column"];
> >
> > >
> > > >> > >
> > >
> > > >> > > parms["table"] = "TBL_IDEN";
> > >
> > > >> > > parms["column"] = "IDEN_CNT";
> > >
> > > >
> >
> > >
> > > >> >
> > >
> > > >> > > parms["where"] = "((IDEN_TABLE = '" + strTable + "') AND
> (IDEN_COL
> > >
> > > >> = '" + strColumn + "'))";
> >
> > >
> > > >> > > base.Configure(type, parms, dialect);
> > >
> > > >
> > >
> > > >> >
> > >
> > > >> > > }
> > >
> > > >> > >
> > >
> > > >> > > As for the mapping, the ID is mapped as "native" and StrIdent is
> a
> >
> > >
> > > >> simple string property:
> > >
> > > >> > >
> > >
> > > >> > >
> > >
> > > >> > >
> > >
> > > >> > >
> > >
> > > >
> > >
> >
> > > >> > >
> > >
> > > >> > >
> > >
> > > >> >
> > >
> > > >> >
> > >
> > > >> >
> > >
> > > >> > > ...
> > >
> > > >> > >
> >
> > >
> > > >> > > So, i hope this is enough information and anyone has a hint for
> me.
> > >
> > > >> > >
> > >
> > > >> > > Thanks
> > >
> > > >> > >
> > >
> >
> > > >
> > >
> > > >> > > Am schrieb [email protected]:
> > >
> > > >> >
> > >
> >
> > > >> > > > I know and i don't do that :-)
> > >
> > > >> > > > What I do is, i use an own IdentifierGenerator inherited from
> > >
> > > >> TableGenerator. There i have to check the following:
> >
> > >
> > > >
> > >
> > > >> > > >
> > >
> > > >> > > > public override object Generate(ISessionImplementor session,
> object
> > >
> > > >> > > >
> > >
> >
> > > >> obj)
> > >
> > > >> >
> > >
> > > >> > > > {
> > >
> > > >> > > > if( obj is Thp5.Domain.Base.Patient.PatientInfo )
> > >
> > > >
> > >
> > > >> > > > {
> >
> > >
> > > >> > > > int nID = 0;
> > >
> > > >> > > > if( int.TryParse((obj as Domain.Base.PInfo).StrIdent,out nID)
> )
> > >
> > > >> >
> > >
> > > >> > > > {
> >
> > >
> > > >> > > > return nID;
> > >
> > > >
> > >
> > > >> > > > }
> > >
> > > >> > > > return null;
> > >
> > > >> > > > }
> > >
> >
> > > >> > > > return base.Generate(session,obj);
> > >
> > > >> > > >
> > >
> > > >> > > > This is because the ID is calculated from the string ID (don't
> ask
> > >
> >
> > > >> about it..it has to be this way)
> > >
> > > >
> > >
> > > >> >
> > >
> > > >> > > >
> > >
> > > >> > > > Is this the wrong way?
> > >
> > > >> > > >
> >
> > >
> > > >> > > > Am schrieb "José F. Romaniello" [email protected]>:
> > >
> > > >
> > >
> > > >> > > > > you should not modify the POIDs of your entities instances
> >
> > >
> > > >> >
> > >
> > > >> > > > >
> > >
> > > >> > > > > 2011/2/25 [email protected]>
> >
> > >
> > > >
> > >
> > > >> > > > >
> > >
> > > >> > > > > Hi all,
> > >
> > > >> >
> > >
> > > >> > > > >
> > >
> > > >> > > > > i get the following exception and don't know exactly what i
> >
> > >
> > > >> should do about it:
> > >
> > > >> > > > >
> > >
> > > >> > > > > "identifier of an instance of Domain.Base.PInfo was altered
> from
> > >
> > > >> 102472 to 102472"
> >
> > >
> > > >
> > >
> > > >> >
> > >
> > > >> > > > >
> > >
> > > >> > > > >
> > >
> > > >> > > > > Any hint?
> > >
> > > >> > > > >
> >
> > >
> > > >> > > > > 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].
> >
> > >
> > > >> > > > >
> > >
> > > >
> > >
> > > >> > > > >
> > >
> > > >> >
> > >
> > > >> > > > > 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.
> > >
> > > >> > > > >
> > >
> > > >
> > >
> >
> > > >> >
> > >
> > > >> >
> > >
> > > >> >
> > >
> > > >> >
> > >
> > > >> > --
> > >
> > > >> >
> > >
> > > >> > 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.
> > >
> >
> > > >> >
> > >
> > > >
> > >
> > > >
> > >
> > > >
> > >
> > > >
> > >
> > > >> --
> > >
> > > >
> > >
> > > >> 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.
> > >
> > > >
> > >
> > > > --
> > >
> > > > 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.
> >
> > >
> > > >
> > >
> > > >
> > >
> > >
> > >
> > > --
> > >
> > > Enviado desde mi dispositivo móvil
> > >
> > >
> > >
> > > --
> > >
> > > 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.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --
> >%2
>
> --
> 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.

Reply via email to