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) <[EMAIL PROTECTED]> 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