openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Sutter <kwsut...@gmail.com>
Subject Re: entity is not available in memory-repost
Date Wed, 16 May 2012 21:31:43 GMT
Hi Prabhu,
First question:  Are you sure that your database has the 5 previous records
with z.id ='10203'?  That is, have you committed your previous transactions
that would ultimately flush your changes to the database?

Since you are using OpenJPA 2.x with WAS v6.1, you must be using
application-managed persistence.  (In order to use container-managed
persistence with OpenJPA 2.x, you would need the OSGi/JPA 2.0 Feature Pack
for WAS v7.)  With application-managed persistence, the lifecycle of the
EMF and EM is up to your application.  You may be able to tie into the
Transaction demarcation, but that requires a configuration property [1].

Bottom line is that I think you need to review your application and how it
interacts with transactions (JTA or local) and determine whether your
changes are even getting to the database before you attempt to query for
them.  BTW, there are ways to do in-memory queries of your current
persistent context, but let's keep this simple until we understand your
scenario better.

Good luck,
Kevin

[1]
http://www.ibm.com/developerworks/websphere/techjournal/0612_barcia/0612_barcia.html

On Wed, May 16, 2012 at 3:40 PM, pbt123 <prabhash@in.ibm.com> wrote:

> Hello,
>
> I am new on OpenJPA....not sure if it has very common solution.
>
> OpenJpa version: 2.1.1
> Running on WAS6.1.37
>
> I have 7 entities in a transaction, first set values in Entity A (fields
> id=10203, name, pname..... etc ...one record) then B (2 record), C(5
> records), E(3 records), F (2 records), G (2 records) entities.
>
> While again setting values in Entity C, it needs previous entered
> data(previous 5 records) from
> C  using custom query.
>
> Query query = em.createQuery( "SELECT z FROM C z where z.id='10203'");
>
> I am using threadLocal to set EntityManager (I have already checked, it is
> trying to get data from the same entityManager which has set value in
> entity
> A ). There are lot of business logic involved in between entity A till G.
>
> The problem is, I am not able to get previous data(5 records) from entity C
> using the
> above SQL.  it always return zero result for id=10203.
>
> Can anyone please help?
>
> Many Thanks.
> Prabhu
>
> --
> View this message in context:
> http://openjpa.208410.n2.nabble.com/entity-is-not-available-in-memory-repost-tp7562678.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message