Did you have created a JIRA ?I don't know what need other committers,
personally I need to take a look to mappings and a NUnit test case.

On the air... you are mixing business stuff with persistence stuff.
BTW before take any kind of decisions a NUnit failing test would be useful.

2008/11/20 Jon Stelly <[EMAIL PROTECTED]>

>
> Hi guys,
>
> I posted an issue I was seeing to nhusers because when i started I was
> sure I was doing something stupid (which is still possible), but not
> too long after posting there I found something in the
> SingleTableEntityPersister that seems to be causing my issue.  I'm
> using version 2.0.1 but the issue seems to have been around for a good
> while.
>
> The summary in my original post is tough to read, you guys will
> probably find it easier to just look at the change I made.  To
> summarize it a little better here, I've got a table per hierarchy
> mapping strategy and a class with 2 one-to-many collections of
> different types (all types are in this class hierarchy).  The
> relationships are bidirectional parent/child type, but I'd like the
> children split into these two collections instead of all being in one
> big Children collection.  Without my patch, NHibernate wasn't
> generating a WHERE clause based on discriminators when loading those
> collections and it was actually causing it to hydrate a database
> record of one type as an instance of another, corrupting the session's
> cache.
>
> It's this thread (
> http://groups.google.com/group/nhusers/browse_thread/thread/d2baeaa5c2be4956
> ), I've gone through and made the change and run the NUnit tests in
> NHibernate.Test.dll, the same tests succeed and fail with or without
> my patch.  The queries generated with this patch seem more correct for
> me, I've tested with one-to-many mappings of subclasses, with derived
> subclasses, joined-subclasses, and standalone class mappings, all of
> those scenarios seem to work.
>
> I'm going to create a JIRA ticket but I was looking through the
> history of SingleTableEntityPersister and this code hasn't been
> changed in a good while, so I wanted to see if you guys had any input
> first.
>
> The patch would end up being this:
>
> Index: SingleTableEntityPersister.cs
> ===================================================================
> --- SingleTableEntityPersister.cs       (revision 3917)
> +++ SingleTableEntityPersister.cs       (working copy)
> @@ -522,7 +522,7 @@
>
>                public override string OneToManyFilterFragment(string
> alias)
>                {
> -                       return forceDiscriminator ?
> DiscriminatorFilterFragment(alias) :
> string.Empty;
> +                       return DiscriminatorFilterFragment(alias);
>                }
>
>                private string DiscriminatorFilterFragment(string
> alias)
>
>
>
>
> Thanks,
> Jon
>
>


-- 
Fabio Maulo

Reply via email to