persistence@glassfish.java.net

Re: Cannot see newly created object

From: Markus KARG <markus.karg_at_gmx.net>
Date: Mon, 30 Jun 2008 19:31:35 +0200

I have not changed the transactional settings, so the defaults apply in
both, the SB and the EB.
AFAIK the default is that a TX is automatically started and finished
around the invocation, isn't it?

Gordon Yorke schrieb:
> 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.
>>>
>>>
>>>
>>>
>>>
>>
>>
>


-- 
http://www.xing.com/go/invita/58469