[
https://issues.apache.org/jira/browse/OPENJPA-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Struberg updated OPENJPA-2341:
-----------------------------------
Attachment: OPENJPA-2341.patch
First version, not yet fully working but a start.
I guess there is a cascade of issues. We tried to write a ValueHandler to
convert joda Time values automatically. Reinhard wrote up a sample app for it:
https://github.com/rsandtner/openjpa-converter
The first problem was that any handler was totally ignored if the field was
Serializable. The patch fixes this problem and we now at least get the
ValueHandler registered in the field. Still some other issues to resolve
though...
> 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)