persistence@glassfish.java.net

Re: Cannot see newly created object

From: Gordon Yorke <gordon.yorke_at_oracle.com>
Date: Mon, 30 Jun 2008 08:21:36 -0400

Hello Markus
     What are the transactional boundaries for the listening SB? Is
the em you are accessing in the listener in a transaction and reading
transactional data?
 --Gordon

Markus KARG wrote:
> I forgot to mention: Exactly the same code executed from within a
> session bean results in the new child beeing listed correctly.
>
> So what difference is between a MDB and a SB?
>
> Thanks! :-)
> Markus
>
> Markus Karg schrieb:
>> I have a strange problem and need your kind help. :-)
>>
>>
>> In GlassFishv2ur2, I am running a session bean that does:
>>
>> parent = em.find(ParentEntity.class, 1000).getSingleResult();
>> parent.getChildren();
>>
>> which lists the content of a OneToMany relationship.
>>
>> Now a message driven bean does:
>>
>> parent = em.find(ParentEntity.class, 1000).getSingleResult();
>> child = new ChildEntity(parent); // Implicitly sets "One"-Side
>> parent.getChildren().add(child); // Explicitly sets "Many"-Side
>> em.persist(child);
>>
>> When I go to the DBMS, I can see the row of the new child including
>> all fields. The child is correctly linked with the parent.
>>
>> But when running the listing again:
>>
>> parent = em.find(ParentEntity.class, 1000).getSingleResult();
>> parent.getChildren();
>>
>> Then still I do not see the new child. To make it appear, I must
>> undeploy and deploy. That is very weird, since it can be seen in the
>> database table, and I have set both sides of the relationship as you
>> can see in the code snippet.
>>
>> Looks like a cache problem, but I just do not understand how to solve
>> it.
>>
>> Has anybody an idea what the cause is and how to get rid of it?
>>
>> Thanks a lot! :-)
>> Markus
>>
>> QUIPSY QUALITY GmbH & Co. KG
>> Ein Unternehmen der MES-Gruppe
>> Stuttgarter Strasse 23
>> D-75179 Pforzheim
>> Tel: 07231-9189-52
>> Fax: 07231-9189-59
>> www.quipsy.de
>> karg_at_quipsy.de
>> Registergericht Mannheim HRA 701214
>> Geschäftsführer: Nils Schroeder
>>
>> Diese E-Mail enthält persönliche, vertrauliche und vor Weitergabe
>> geschützte Informationen und ist ausschließlich für den vorgesehenen
>> o.g. Empfänger (Adressaten) bestimmt. Falls Sie diese E-Mail
>> versehentlich erhalten haben und nicht der vorgesehene Empfänger
>> sind, bitten wir Sie, die E-Mail und deren Anhänge nicht
>> aufzubewahren, nicht zu vervielfältigen, nicht zu nutzen und nicht
>> weiterzugeben. Bitte informieren Sie uns als Absender über diesen
>> Zustellungsfehler und löschen Sie die E-Mail.
>>
>>
>>
>>
>>
>
>