You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2013/08/23 23:15:51 UTC

[jira] [Commented] (OPENJPA-754) Un-scheduled pre/postUpdate callbacks from persist.

    [ https://issues.apache.org/jira/browse/OPENJPA-754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13748990#comment-13748990 ] 

ASF subversion and git services commented on OPENJPA-754:
---------------------------------------------------------

Commit 1517039 from [~jpaheath] in branch 'openjpa/branches/1.2.x'
[ https://svn.apache.org/r1517039 ]

OPENJPA-754: Add additional condition to determine if the pre/postUpdate callback should be called - back ported to 1.2.x Albert Lee's trunk changes.
                
> Un-scheduled pre/postUpdate callbacks from persist.
> ---------------------------------------------------
>
>                 Key: OPENJPA-754
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-754
>             Project: OpenJPA
>          Issue Type: Sub-task
>          Components: kernel
>    Affects Versions: 1.0.3, 1.0.4, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 2.0.0-M2
>            Reporter: Albert Lee
>            Assignee: Albert Lee
>             Fix For: 1.3.0, 2.0.0-M2
>
>
> In some use case, an unexpected pre/postUpdate callback event will be fired. 
> The following operations demonstrate the scenario:
> 			em.getTransaction().begin();
> 			// Create and persist a new Message entity
> 			Message message = new Message("Hello Persistence!");
> 			message.setId(1);
> 			em.persist(message);
> 			em.flush();
> 			// Create and persist another new Message entity
> 			message = new Message("Hello Persistence 2!");
> 			message.setId(2);
> 			em.persist(message);
> 			em.getTransaction().commit();
> 			em.getTransaction().begin();
> 			message.setMessage("Mutated 2!!");
> 			em.getTransaction().commit();
> ** PrePersist - Message: id=1, m=Hello Persistence!, create=null, updated=null, v=null
> ** PostPersist - Message: id=1, m=Hello Persistence!, create=null, updated=null, v=1
> ** PrePersist - Message: id=2, m=Hello Persistence 2!, create=null, updated=null, v=null
> ** PreUpdate - Message: id=1, m=Hello Persistence!, create=null, updated=null, v=1
> ** PostPersist - Message: id=2, m=Hello Persistence 2!, create=null, updated=null, v=1
> ** PostUpdate - Message: id=1, m=Hello Persistence!, create=null, updated=null, v=1
> ** PreUpdate - Message: id=2, m=Mutated 2!!, create=null, updated=null, v=1
> ** PostUpdate - Message: id=2, m=Mutated 2!!, create=null, updated=null, v=2
> Albert Lee.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira