问题描述
Hibernate遇到一个报错问题,如下:
java.sql.SQLException: HOUR_OF_DAY: 0 -> 1
网上查了,都说可能是:
- mysql jdbc驱动问题
- 数据库连接字符串的时区问题
经查,这些问题都排除了,还是报错。
我的实体类是:
@Entity @Table(name = "t_student") public class Student implements Serializable { private Long id; private boolean disabled;//是否禁用 private Date createDate; private Date updateDate; private String name;//姓名 private String mobile;//手机号 private Date birthday;//出生年月日 // 其他属性和getter setter 胜率 }
最后解决问题是:
birthday生日的字段,在MySQL数据库字段的类型是date类型,从date改成datetime解决了!
之前考虑到生日不用精确到时分秒,用的date类型,改成datetime就好了。
CREATE TABLE `t_student` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `create_date` datetime DEFAULT NULL COMMENT '新建时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间', `name` varchar(255) DEFAULT NULL COMMENT '姓名', `birthday` date DEFAULT NULL COMMENT '出生年月日', -- date改成datetime `mobile` varchar(255) DEFAULT NULL COMMENT '手机号', PRIMARY KEY (`id`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';
文章评论