openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 玉米老 <wangy...@gmail.com>
Subject Re: OpenJPA 2.1 clear() is very slow.
Date Wed, 09 Feb 2011 02:59:29 GMT
Mike,
You're right, I set : openjpa.DetachState="all".
Thank you very much!

Regards,
Yu Wang

On Tue, Feb 1, 2011 at 10:37 PM, Michael Dick <michael.d.dick@gmail.com> wrote:
> Hi,
>
> Do you have any other openjpa properties set in persistence.xml?
> Specifically the openjpa.DetachState property can affect which entities are
> loaded when you clear, or manually detach entities.
>
> Here's the relevant section of the
> manual<http://openjpa.apache.org/builds/apache-openjpa-1.2.3-SNAPSHOT/docs/manual/manual.html#ref_guide_detach_graph>.
>
>
> In your use case you want to use openjpa.DetachState=loaded. Using 'all' or
> 'fetch-groups' may cause other objects to be loaded when an entity is
> detached.
>
> Hope this helps,
> -mike
>
> On Tue, Feb 1, 2011 at 12:45 AM, 玉米老 <wangyumi@gmail.com> wrote:
>
>> Hello Rick and Mark,
>> First of all, I appreciate your quick response very much.
>>
>> As your advices, I have opened the OpenJPA trace log and tried to
>> figure out what did it really do when clear() method of Entity Manager
>> was invoked.
>>
>> Please let me introduce my scenario first.
>> I have two table one is master and another is slave.The slave entity
>> list is LAZY loaded.
>> My case is every time I try to get a list of master table entity,
>> clear() method of Entity Manager will be invoked first to make sure
>> latest entities will be retrieved. In addition, slave entities seldom
>> be loaded in my scenario.
>>
>> But from trace log I found clear() method always try to load all slave
>> entities and then detach all master and slave entities. I guest that's
>> the exact root cause why clear() method is so slow.
>>
>> And I found upgrading to 1.2.2 and adding below line into
>> persistence.xml doesn't really make any improvements.
>>                         <property name="openjpa.Compatibility"
>> value="ReloadOnDetach=false, FlushBeforeDetach=false"/>
>>
>> Any suggestions?
>>
>> Regards,
>> Yu Wang
>>
>> On Tue, Feb 1, 2011 at 12:15 AM, Rick Curtis <curtisr7@gmail.com> wrote:
>> > Yu -
>> >
>> > When you call em.clear(), any idea on how many Entities are in your
>> > persistence context? Could you provide some sort of pseudo code as to the
>> > scenario that you are running?
>> >
>> > Thanks,
>> > Rick
>> > On Mon, Jan 31, 2011 at 4:16 AM, 玉米老 <wangyumi@gmail.com> wrote:
>> >
>> >> Hello,
>> >> I upgraded into 1.2.2 and added below line into persistence.xml but it
>> >> doesn't really work. In fact I found clere() is still time consuming.
>> >> Any suggestions?
>> >>  <property name="openjpa.Compatibility"
>> >>                            value="ReloadOnDetach=false,
>> >> FlushBeforeDetach=false"/>
>> >>
>> >> Regards,
>> >> Yu Wang
>> >>
>> >> On Mon, Jan 31, 2011 at 2:53 PM, 玉米老 <wangyumi@gmail.com> wrote:
>> >> > I guess this may be relevant:
>> >> >
>> >> > https://issues.apache.org/jira/browse/OPENJPA-1414
>> >> >
>> >> > On Mon, Jan 31, 2011 at 1:32 PM, 玉米老 <wangyumi@gmail.com>
wrote:
>> >> >> sorry, I'm using OpenJPA 1.2.1 not 2.1
>> >> >>
>> >> >> On Mon, Jan 31, 2011 at 1:26 PM, 玉米老 <wangyumi@gmail.com>
wrote:
>> >> >>> Hello experts:
>> >> >>> I found sometimes invoking clear() method of entity manager
will
>> took
>> >> >>> more than 30 seconds.
>> >> >>> I don't know if there' re some performance issues or I shouldn't
>> >> >>> invoke clear() method first to get updated objects?
>> >> >>>
>> >> >>> Regards,
>> >> >>> Yu Wang
>> >> >>>
>> >> >>
>> >> >
>> >>
>> >
>>
>

Mime
View raw message