openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fay Wang (JIRA)" <j...@apache.org>
Subject [jira] Updated: (OPENJPA-578) Specifying a default for VersionStrategy in persistence.xml has no effect when a version field is present in the entity class.
Date Mon, 21 Apr 2008 19:05:27 GMT

     [ https://issues.apache.org/jira/browse/OPENJPA-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Fay Wang updated OPENJPA-578:
-----------------------------

    Issue Type: Improvement  (was: Bug)

It looks that the current behavior is working as design:

The openjpa.jdbc.MappingDefaults configuration property controls the MappingDefaults interface
implementation in use. This is a plugin property (see Section 4, " Plugin Configuration "),
so you can substitute your own implementation or configure the existing ones. OpenJPA includes
the following standard implementations: 
<snip>
default: This is an alias for the org.apache.openjpa.jdbc.meta.MappingDefaultsImpl class.
This default implementation is highly configurable. It has the following properties: 
<snip>
VersionStrategy: The default version strategy for classes without a version field. You can
specify a builtin strategy alias or the full class name of a custom version strategy. You
can also use OpenJPA's plugin format (see Section 4, " Plugin Configuration ") to pass arguments
to the strategy instance. Common strategies are none, state-comparison, timestamp, and version-number,
the default. See the org.apache.openjpa.jdbc.meta.strats package for all available strategies.




> Specifying a default for VersionStrategy in persistence.xml has no effect when a version
field is present in the entity class.
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-578
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-578
>             Project: OpenJPA
>          Issue Type: Improvement
>          Components: jdbc
>    Affects Versions: 1.0.2
>            Reporter: Fay Wang
>             Fix For: 1.2.0
>
>         Attachments: openjpa.patch
>
>
> Specifying a default for VersionStrategy in persistence.xml has no effect when a version
field is present in the entity class.
> According the OpenJPA documentation the following property should override the default
value of VersionStrategy and the specified RowChangeTimestampStrategy should be applied for
all entity classes. 
>  <property name="openjpa.jdbc.MappingDefaults" 
>   	        value="jpa(VersionStrategy=com.ibm.websphere.persistence.RowChangeTimestampStrategy)"
/>
> JPA accepts this property but then it has no effect on Entity mappings if the version
field is present.
> import javax.persistence.*;
> import org.apache.openjpa.persistence.jdbc.VersionStrategy;
> @Entity
> public class EntityA {
> 	@Id int id;
> 	String name;
> 	double amt;
> 	@Version java.sql.Timestamp lastUpdate;
> For EntityA, the version strategy should be RowChangeTimestampStrategy. Instead, the
NumberVersionStrategy is adopted. 
> If the @Version is removed from EntityA, the version strategy becomes RowChangeTimestampStrategy.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message