rave-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Geer <ch...@cxtsoftware.com>
Subject Re: JPA Save Question
Date Fri, 05 Oct 2012 14:49:43 GMT
On Fri, Oct 5, 2012 at 6:49 AM, Carlucci, Tony <acarlucci@mitre.org> wrote:

>
>
> >-----Original Message-----
> >From: Chris Geer [mailto:chris@cxtsoftware.com]
> >Sent: Thursday, October 04, 2012 8:17 PM
> >To: dev
> >Subject: Re: JPA Save Question
> >
> >On Thu, Oct 4, 2012 at 11:45 AM, Chris Geer <chris@cxtsoftware.com>
> wrote:
> >
> >> I'm having an issue with JPA and I'm hoping someone can help me out. As
> >> part of the object model restructure we are splitting some of the object
> >> dependencies and replacing them with IDs. For example, we are breaking
> the
> >> link between WidgetTag and Tag and having WidgetTag have a TagID. This
> >> means that when a new WidgetTag is created the system needs to create
> the
> >> new Tag object if it doesn't exist, get it's ID and then save the
> WidgetTag
> >> with the TagID. My problem is that when I create a new Tag and call
> >> TagRepository.save(tag), it "saves" but when it returns the Tag object
> it
> >> doesn't container an ID, but it's now a JPATag object. Is there a way to
> >> resolve that or do we need to do a save, then a get to return a fully
> >> populated object?
> >
> >
> >Additional information: It looks like when the entity comes back from the
> >entityManager.persist method it's detached. I've tried to figure out how
> to
> >correct that but I can't quite seem to figure it out. Any thoughts?
> >
>
> Hi Chris, in the past whenever I've experienced this behavior with JPA,
> its *usually* because the transaction hasn't been committed yet.  And
> *usually* it's because I forgot to annotate the service layer with
> @Transactional.   If you tune up the JPA logging level, you should see an
> INSERT or UPDATE statement logged out.  If you don't ever see the actual
> INSERT or UPDATE SQL statement, that's a good sign that the transaction
> isn't getting committed, usually because of a missing @Transactional tag on
> the service method.
>
> Hope that helps, Tony
>

Tony, that was the issue. I had added a method to save a tag to the
TagService but didn't use the @Transactional annotation.

>
> >>
> >> Chris
> >>
>

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