You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Carl Hall (JIRA)" <ji...@apache.org> on 2015/04/17 04:03:58 UTC

[jira] [Commented] (DBUTILS-115) Enhance BeanProcessor to support Joda DateTime

    [ https://issues.apache.org/jira/browse/DBUTILS-115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14499132#comment-14499132 ] 

Carl Hall commented on DBUTILS-115:
-----------------------------------

With the changes in DBUTILS-121, I think we've moved this issue ahead as much as we can for now.  Adding joda-time as a dependency doesn't seem advantageous for just type checking a column, but you've got me thinking.  I'll tinker around with some extension ideas where you (the user) could add custom types and dbutils doesn't have to require them for building.

> Enhance BeanProcessor to support Joda DateTime
> ----------------------------------------------
>
>                 Key: DBUTILS-115
>                 URL: https://issues.apache.org/jira/browse/DBUTILS-115
>             Project: Commons DbUtils
>          Issue Type: Improvement
>    Affects Versions: 1.5
>            Reporter: Bill Comer
>              Labels: features
>
> We use the popular org.joda.time.DateTime to map all our Date fields in our POJOs.
> Could this be added to BeanProcessor.callSetter(....)
> I have done this local change that appears to work for me.
>             if (value instanceof java.util.Date) {
>                 final String targetType = params[0].getName();
>                 if ("java.sql.Date".equals(targetType)) {
>                     value = new java.sql.Date(((java.util.Date) value).getTime());
>                 } else
>                 if ("java.sql.Time".equals(targetType)) {
>                     value = new java.sql.Time(((java.util.Date) value).getTime());
>                 } else
>                 if ("java.sql.Timestamp".equals(targetType)) {
>                     value = new java.sql.Timestamp(((java.util.Date) value).getTime());
>                 } else
>                 if ("org.joda.time.DateTime".equals(targetType)) {
>                     if (value instanceof java.sql.Timestamp) {                      
>                       value = new DateTime((java.sql.Timestamp)value);
>                     }
>                 }
>             }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)