openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Dick" <michael.d.d...@gmail.com>
Subject Re: [jira] Commented: (OPENJPA-12) Default to strictIdentityTypes for JPA
Date Tue, 15 Aug 2006 21:20:41 GMT
I think it would be better to pass the TCK without any properties that
change behavior.

Does anyone know if Sun has a guideline regarding the configuration
properties?


On 8/15/06, Patrick Linskey (JIRA) <jira@apache.org> wrote:
>
>     [ http://issues.apache.org/jira/browse/OPENJPA-12?page=comments#action_12428175
> ]
>
> Patrick Linskey commented on OPENJPA-12:
> ----------------------------------------
>
> I know that we changed this in our JPA TCK test-running environment via
> the property setting. I guess the question at hand is whether the default
> should be to be strict or to be lenient for JPA installations. Does anyone
> have a dissenting opinion?
>
> > Default to strictIdentityTypes for JPA
> > --------------------------------------
> >
> >                 Key: OPENJPA-12
> >                 URL: http://issues.apache.org/jira/browse/OPENJPA-12
> >             Project: OpenJPA
> >          Issue Type: Bug
> >          Components: jpa
> >            Reporter: Michael Dick
> >            Priority: Minor
> >         Attachments: patch.txt
> >
> >
> > The default behavior with OpenJPA is to be very forgiving regarding the
> Primary Key types passed in when calling EntityManager.find or
> EntityManager.getReference .
> > For example if an Entity has an ID of type Long OpenJPA will attempt to
> convert anything that extend java.lang.Number and Strings (maybe others).
> > This is a nice feature, but I don't think it should be the default
> behavior.  The JPA spec indicates that an IllegalArgumentException should be
> thrown if the second argument is not a valid type for the Entity's primary
> key. There is some room for interpretation as to what constitutes a valid
> type, conversion for all Numbers makes sense, but String might be pushing
> it.
> > Workaround :
> > Add the following to persistence.xml
> > <property name="openjpa.Compatibility"        value="strictIdentityValues=true"
> />
> > Proposed Solution :
> > The OpenJPA compatibility plugin provides a mechanism to enforce strict
> identity checking (defaulting to false). There's no need to change the
> default in the kernel (other persistence apis like JDO might be more
> lenient) so I propose changing the default in
> PersistenceProductDerivation.beforeConfigurationLoad().
> > Changing it there should only effect the JPA facade and leave the
> OpenJPA kernel's default in place for other facades.
> > The value may be overridden by adding the following property to
> persistence.xml
> > <property name="openjpa.Compatibility"        value="strictIdentityValues=false"
> />
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>


-- 
-Michael Dick

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message