You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Fay Wang (JIRA)" <ji...@apache.org> on 2008/04/21 05:22:21 UTC

[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.

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

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

    Attachment: openjpa.patch

The attached patch fixes this problem.

> 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: Bug
>          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.