I decided to post the code. I just saw your comment about the  "new entity ..." 
 and that does explain part of it (purchase not saved ) as you will see.  That 
does not explain why the changed entity (member) did not get saved.  Member was 
injected in the calling SLSB using SEAM and passed to this method.

If it is true that a new entity is not saved on exit that needs to be 
emphasized in documentation.  I started with the trailblazer and use the 
references.  Maybe it is in there but I never noticed it.

public @Stateless class PurchaseCreditsBean implements PurchaseCredits {

@PersistenceContext
EntityManager em;

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
        public void purchaseCredits(Member member, int purchaseQty)
        {
                Purchase purchase = new Purchase();
                purchase.setPurchasedCredits(purchaseQty);
                member.setCredits(purchaseQty + member.getCredits());

                purchase.setMember(member);
                purchase.setPurchasedCredits(purchaseQty);
                em.merge(purchase); // TODO  should not have to call merge
                em.merge(member);
        }
}

Thanks,  my assumption is the SEAM injected entity is behaving as if it is not 
attached to my em as well.  If this is the case I certainly misunderstood  
this.  I bet many others have been down this same path!


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4116598#4116598

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4116598
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to