You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Mark Struberg (JIRA)" <ji...@apache.org> on 2015/06/30 00:09:04 UTC
[jira] [Commented] (OPENJPA-2341) OpenJPA ignores custom field
strategies globally defined in persistence.xml
[ https://issues.apache.org/jira/browse/OPENJPA-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14606513#comment-14606513 ]
Mark Struberg commented on OPENJPA-2341:
----------------------------------------
Seems the code is fine, just our test sample was not really finished. We just had a ValueHandler for LocalDate but not for the other joda types used in the sample. Removing those columns made the sample green.
> OpenJPA ignores custom field strategies globally defined in persistence.xml
> ---------------------------------------------------------------------------
>
> Key: OPENJPA-2341
> URL: https://issues.apache.org/jira/browse/OPENJPA-2341
> Project: OpenJPA
> Issue Type: Bug
> Affects Versions: 2.2.0
> Reporter: Michael Rüegg
> Assignee: Mark Struberg
> Priority: Blocker
> Attachments: OPENJPA-2341.patch
>
>
> I use a custom field strategy value handler (a class that extends org.apache.openjpa.jdbc.meta.strats.AbstractValueHandler) for my entities that make use of joda time fields:
> @Entity
> public class MyEntity {
> org.joda.time.LocalDateTime creationDate;
> }
> When I use the inline strategy annotation (@Strategy("com.xyz.LocalDateValueHandler")), everything works as expected and my LocalDateTime field 'creationDate' gets mapped to an SQL timestamp. However, if I reference my value handler globally in the persistence.xml file, then OpenJPA is not able to find the value handler (i.e., it is never called), which results in a blob column type for 'creationDate'. Here's the corresponding snippet from my persistence.xml:
> <property name="openjpa.jdbc.MappingDefaults" value="FieldStrategies='org.joda.time.LocalDateTime=com.xyz.LocalDateValueHandler"/>
> Note that if I use a mapping from a standard JDK class like java.lang.String to my value handler, then my handler is called as expected. Is this issue somehow related to #OPENJPA-758? Note that I use Derby as my database.
> Any help would be much appreciated.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)