Re: Unregistered Objects

From: Mike Kienenberger (mkienen..mail.com)
Date: Mon Aug 13 2007 - 11:56:30 EDT

  • Next message: Peter Karich: "Re: Unregistered Objects"

    I may be wrong but from my reading, I seem to recall that JPA supports
    unregistered objects, so JPA may be able to help you here. I think
    JPA also supports non-persisted objects in the class hierarchy, so you
    might even be able to define a TemporaryMeeting subclass (or
    superclass) of Meeting that would never be persisted.

    On 8/10/07, Peter Karich <peatha..ahoo.de> wrote:
    > Hallo,
    >
    > as discussed here [1] and there [2].
    > I am seeking for a solution where the following works:
    >
    > Room r = new Room();
    > getContext().registerNewObject(r);
    >
    > Meeting m = new Meeting();
    > r.addMeeting(m); //[3]
    >
    > I get heavy memory problems in my calculations, while doing the
    > following procedure 100,000 times: I create a meeting, calculate sth.
    > and remove it. Cayenne forces me to register all the 'meetings' and will
    > reference them although I don't need them anylonger. But I don't know
    > when I won't need them.
    >
    > So one solution comes from Mike Kienenberger as discussed before and
    > another solution could be to create sth. like a readonly context, where
    > I could copy the results in a normal DataContext if I am done. So can I
    > simply put the objects into the ObjectStore by a WeakReference or should
    > I know more about the internals. (I think I should!)
    > May be a readonly context could even improve performance, because of the
    > nonexistent 'registering' overhead.
    >
    >
    > Now my questions are:
    > 1. Is there already a (similar) solution for the ReadOnlyContext?
    > 2. Will cayenne implement Mike Kienenberger's solution? Or others? Can I
    > open a JIRA issue/feature request [3]?
    > 3. Are there other ORM's that solve this. (Not worth to exchange, but
    > worth to know :-)
    > 4. Could JPA help me here or will cayenne silently 'add the meetings' as
    > in normal cayenne setup?
    >
    >
    > Bye,
    > Peter.
    >
    >
    > [1]
    > http://objectstyle.org/cayenne/lists/cayenne-user/2007/03/0181.html
    >
    > [2]
    > http://objectstyle.org/cayenne/lists/cayenne-user/2007/04/0054.html
    >
    > [3]
    > Where the user can decide if a context does then
    > "throw an explicit exception", "add m silently and make it persistent"
    > or "add m silently, but don't make persistent", if an unregistered
    > object like 'm' will be added to a registered one like 'p' (or the other
    > way around)
    > And without registering one object (2 unregistered) cayenne shouldn't
    > throw NPE's.
    >



    This archive was generated by hypermail 2.0.0 : Mon Aug 13 2007 - 11:57:04 EDT