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 <[email protected]> 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, 玉米老 <[email protected]> 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 <[email protected]> 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, 玉米老 <[email protected]> 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, 玉米老 <[email protected]> wrote: >> >> > I guess this may be relevant: >> >> > >> >> > https://issues.apache.org/jira/browse/OPENJPA-1414 >> >> > >> >> > On Mon, Jan 31, 2011 at 1:32 PM, 玉米老 <[email protected]> wrote: >> >> >> sorry, I'm using OpenJPA 1.2.1 not 2.1 >> >> >> >> >> >> On Mon, Jan 31, 2011 at 1:26 PM, 玉米老 <[email protected]> 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 >> >> >>> >> >> >> >> >> > >> >> >> > >> >
