Perhaps. I think "Activation" might have an influence and could throw a
spanner in the works. SO, I want to get to the bottom of that, before
figuring out what can be cached when.

On Tue, Jul 4, 2017 at 12:47 AM, Paul Merlin <paulmer...@apache.org> wrote:

> Niclas Hedhman a écrit :
> > Gang,
> >
> > the new EntityStoreTestSuite is once again finding "interesting" behavior
> > that is not documented.
> >
> > If an Value composite has an Association to an Entity, but that entity is
> > not visible to the Value, deserialization will fail.
> >
> > It is quite straight forward that it does, since serialization doesn't
> have
> > the benefit of, for instance, exposed services that does the creation in
> > the first place, which is a pattern that I typically follow.
> >
> > However, that is not the end of it... This happens on creating the Value
> > composite as well, because during the build of the Value, the Constraints
> > check will actually load the referenced Entity IF (and only IF) there is
> an
> > UnitOfWork. If there is no UnitOfWork active, then that particular check
> is
> > skipped and the problem probably surface later (I can't figure that out
> > exactly).
> >
> >
> > Sooooo.... I think the documentation needs something like;
> >
> > "For any Associations in Value composites, the Entity type referenced
> must
> > be visible in the module of the Value type."
> >
> > And, then I thought, *let's check this during Model creation and give a
> > good exception*.
> >
> > Well, that would have worked if not TypeLookUp now has a
> LazyInitialization
> > which get buggered up if called prior to completed, and everything else
> > breaks. So, I need to disable that until we can disable lazy-loading in
> > TypeLookUp during model building.
>
> Hey,
>
> About TypeLookup & caching.
>
> Caching exists to alleviate obvious performance problems during runtime
> and is possible because, once bootstrapped, the application model
> doesn't change.
>
> We could move the caching to some TypeLookup decorator that we would
> only use at runtime, and use the non-caching implementation during
> bootstrap.
>
> That could solve this use case, correct?
>
> Cheers
>
> /Paul
>
>
>
>


-- 
Niclas Hedhman, Software Developer
http://polygene.apache.org - New Energy for Java

Reply via email to