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

Andy Jefferson commented on JDO-589:
------------------------------------

A suggestion :

Deprecate [get|set]nontransactionalWrite methods and add the following

void setNontransactionalWriteMode(WriteMode);
WriteMode getNontransactionalWriteMode();
public enum WriteMode
{
    NONE,
    ATOMIC,
    DELAY_UNTIL_COMMIT
}

No real problem with changing the enum value names to something better.

> Allow makePersistent and deletePersistent outside a transaction
> ---------------------------------------------------------------
>
>                 Key: JDO-589
>                 URL: https://issues.apache.org/jira/browse/JDO-589
>             Project: JDO
>          Issue Type: New Feature
>          Components: api, specification, tck
>    Affects Versions: JDO 2 maintenance release 1 (2.1)
>            Reporter: Craig L Russell
>             Fix For: JDO 3.2
>
>
> JPA allows users to call makePersistent outside a transaction, and then when 
> beginning and committing a transaction, the instances are made persistent.
> This is similar to nontransactional dirty in which the managed instances can 
> be modified outside a transaction and then the changes committed within a 
> transaction.
> From the JPA spec, "When an EntityManager with an extended persistence 
> context is used, the persist, remove, merge, and refresh operations may be 
> called regardless of whether a transaction is active. The effects of these 
> operations will be committed to the database when the extended persistence 
> context is enlisted in a transaction and the transaction commits."
> This behavior should not be the default behavior (for backward compatibility 
> reasons if not the principle of least surprise) so it should be under control 
> of a PersistenceManager and PersistenceManagerFactory flag, perhaps 
> NontransactionalNew.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to