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) 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 > > /> > > 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 > > /> > > -- > 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