开发者社区 问答 正文

OSC的POJO类在处理时间属性是如何操作的?

看了OSC的源码之后,在运用POJO类时发现了一个问题从子类取fields存MAP时,类型会丢失,这样在进行SQL插入操作时Date类型instanceof java.util.date时为false,而数据库mysql中的类型为datetime,这样会报错MysqlDataTruncation: Data truncation: Incorrect datetime value
单独直接连mysql时是没有这个错误的,根本原因在BeanUtils.describe(this); 类型在此处丢失,想问老大在处理时间field是怎么处理的?

展开
收起
落地花开啦 2016-02-06 16:56:48 2596 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果数据库是 datetime 类型,最好 bean 里的类型是 java.sql.Timestamp
    idreamblue数据库时间字段建议用 bigint ,到1970年的毫秒数。
    有以下几点好处:
    1.数据库通用
    2.时间比较效率比较高
    3.在没有主键的情况下还可以高效分页

    2019-07-17 18:38:32
    赞同 展开评论