You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "David Ezzio (JIRA)" <ji...@apache.org> on 2010/04/30 21:34:54 UTC
[jira] Updated: (OPENJPA-1610) Allow applications using OpenJPA 1.x
to run with the JPA 2.0 jar on the classpath
[ https://issues.apache.org/jira/browse/OPENJPA-1610?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Ezzio updated OPENJPA-1610:
---------------------------------
Attachment: Patch930357n378.diff
Patch file that ignores whitespace changes in the changes applied to branch 1.1.x, at changes 930357 and 930378
> Allow applications using OpenJPA 1.x to run with the JPA 2.0 jar on the classpath
> ---------------------------------------------------------------------------------
>
> Key: OPENJPA-1610
> URL: https://issues.apache.org/jira/browse/OPENJPA-1610
> Project: OpenJPA
> Issue Type: Improvement
> Components: jpa
> Affects Versions: 1.1.1
> Reporter: David Ezzio
> Assignee: David Ezzio
> Fix For: 1.1.1
>
> Attachments: Patch930357n378.diff
>
>
> OpenJPA 1.x does not support JPA 2.0, but there are runtime environments
> where applications using OpenJPA 1.x must run with the JPA 2.0 jar
> present in the classpath.
> Although JPA 2.0 is upwardly compatible with JPA 1.0, JPA 2.0 introduced
> some methods to existing JPA interfaces that conflict with existing
> signatures in OpenJPA interfaces. These conflicts arise because
> the OpenJPA interfaces extend the JPA interfaces that picked up the new
> methods.
> To avoid the linkage errors that would result from no changes to
> OpenJPA, when applications using the offending methods run in such an
> environment, the two offending methods should be changed in the OpenJPA
> interfaces.
> Applications deployed in such environments should be recompiled to avoid
> any possibility of using the old methods.
> The offending methods are
> public <T> T OpenJPAEntityManager.detach(T pc)
> public Properties OpenJPAEntityManagerFactory.getProperties()
>
> The proposed fixes are designed to make recompilation and correction of
> such applications as simple as possible. Such applications will compile
> with either the JPA 2.0 or JPA 1.0 jar, but they should be compiled with
> the JPA 1.0 jar to avoid mistakenly using interfaces or methods found
> only in JPA 2.0. Any such coding mistakes will result in linkage errors
> when the methods or interfaces are used at runtime.
> The proposed fixes:
> public <T> T OpenJPAEntityManager.detachCopy(T pc)
> public Map<String, Object) OpenJPAEntityManagerFactory.getProperties()
>
> public Properties OpenJPAEntityManagerFactory.getPropertiesAsProperties()
>
> The first two fixes follow the changes made in OpenJPA 2.x to address
> these same conflicts.
> The getPropertiesAsProperties method is provided as a convenience to
> application developers who do not want to accept the different return
> type of the redesigned getProperties method. However, the method
> getPropertiesAsProperties is not currently found in the OpenJPA 2.x
> interface.
> It is estimated that a large proportion of OpenJPA 1.x enabled
> applications are using the old detach method and that a small proportion
> are using the old getProperties method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.