Hibernate使用MySQL数据库遇到java.sql.SQLException: HOUR_OF_DAY: 0 -> 1错误解决

2022-03-10 1002点热度 0人点赞 0条评论

问题描述

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='学生表';

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论