看了OSC的源码之后,在运用POJO类时发现了一个问题从子类取fields存MAP时,类型会丢失,这样在进行SQL插入操作时Date类型instanceof java.util.date时为false,而数据库mysql中的类型为datetime,这样会报错MysqlDataTruncation: Data truncation: Incorrect datetime value
单独直接连mysql时是没有这个错误的,根本原因在BeanUtils.describe(this); 类型在此处丢失,想问老大在处理时间field是怎么处理的?
如果数据库是 datetime 类型,最好 bean 里的类型是 java.sql.Timestamp
idreamblue数据库时间字段建议用 bigint ,到1970年的毫秒数。
有以下几点好处:
1.数据库通用
2.时间比较效率比较高
3.在没有主键的情况下还可以高效分页
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。