java8与hibernate_Hibernate 使用java8 LocalDateTime 注意事项
大家都知道,以前我们时间都用java.util.Date类型,但是现在都已经过时了,
Java8里面新出来了一些API,LocalDate、LocalTime、LocalDateTime 非常好用
实体类如下:
@Entity
@Table(name="users")
public class User {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column
private String name;
@Column(name="create_date")
private LocalDate createDate;
@Column(name="create_time")
private LocalDateTime createTime;
}
现在希望把createDate映射成表的date类型,createTime映射成datetime类型
如果大家使用的Hibernate的版本是5.2(我这里演示的版本是:5.2.4.Final)
Hibernate: create table users (id integer not null auto_increment, create_date date, create_time datetime, name varchar(255), primary key (id))
Hibernate: insert into users (create_date, create_time, name) values (?, ?, ?)
则可以看到,Hibernate可以支持Java8的日期和时间
但是,如果大家用的Hibernate的版本是5.1(我这里演示的版本是5.1.2.Final)及低版本,则可以看到
Hibernate: create table users (id integer not null auto_increment, create_date tinyblob, create_time tinyblob, name varchar(255), primary key (id))
Hibernate: insert into users (create_date, create_time, name) values (?, ?, ?)
大家可以看到,类型映射成tinyblob,不是我们想要的日期,时间类型,同时保存数据的时候也会有问题
我们想要数据库时间类型对应的是datetime类型
解决方案:
加入依赖包:
org.hibernate
hibernate-java8
5.1.2.Final
再次运行程序,发现
Hibernate: create table users (id integer not null auto_increment, create_date date, create_time datetime, name varchar(255), primary key (id))
Hibernate: insert into users (create_date, create_time, name) values (?, ?, ?)
发现可以正常支持Java8的日期时间了,问题解决
java8与hibernate_Hibernate 使用java8 LocalDateTime 注意事项相关推荐
- java8 mysql datetime_在JDBC中使用Java8的日期LocalDate、LocalDateTime
在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等字段 但是 ...
- mybatis java8_mybatis如何使用Java8的日期LocalDate和LocalDateTime详解
前言 相信大家应该都知道,在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.d ...
- java8 joda_Joda Time和Java8时差
我正在寻找一个计算两个日期之间的月份的解决方案.我认为joda或java8时间可以做到.但是当我比较它们时,我发现了一些非常奇怪的东西. import java.text.ParseException ...
- 【爱上Java8】BigInteger在Java8中的改进
BigInteger在Java8里增加了一组方法: 1 2 3 public byte byteValueExact() public int intValueExact() public long ...
- java8 stringbuilder_有了Java8的“+”真的可以不要StringBuilder了吗
最近在头条上看到一篇帖子,说Java8开始,字符串拼接时,"+"会被编译成StringBuilder,所以,字符串的连接操作不用再考虑效率问题了,事实真的是这样吗?要搞明白,还是要 ...
- java8 optional使用_[Java8]如何正确使用Optional
Optional是Java8提供的为了解决null安全问题的一个API.善用Optional可以使我们代码中很多繁琐.丑陋的设计变得十分优雅.这篇文章是建立在你对Optional的用法有一定了解的基础 ...
- java8双层for循环,Java8处理List的双层循环问题
Java处理List的双层循环程序员经常遇到,一般都是当两个List某个值满足某条件时候,进行相应的处理: 1.list和map之间的相互转换 /** * 两个List对象当id相同的时候(注意是两个 ...
- java8 wordcount_Spark2.x与Java8下WordCount示例
spark深度学习指南+进阶实战2册 123.9元 包邮 (需用券) 去购买 > 不用 lambda 的基础版 import org.apache.spark.api.java.JavaPair ...
- java8 lambda 排序算法,Java8中排序算法比较器的三种写法(使用lambda表达式实现Comparator比较器)...
在涉及到数组, 集合等这些地方经常会需要用到排序算法, 在Java中的Collections类中有sort方法, 除了需要传入一个Comparator比较器, 或者需要排序的类实现了Comparabl ...
最新文章
- sql中exists,not exists的用法
- 未来几年,BCH超越BTC的路径是什么?
- java刚工作搭建环境_Java开发环境的搭建
- SpringMVC的文件上传和拦截器
- git 使用_git使用指南
- 成为“能打”的二次元游戏《明日方舟》做对了什么?
- 信息学奥赛一本通(1105:数组逆序重存放)
- 灰度资产管理总规模升至460亿美元
- php 判断设备是手机还是平板还是pc
- 2021-4月最全停词表(1893个),速取
- 如何批量修改Word文档Mathtype公式字体
- Premiere Pro CC2019软件安装教程
- 使用K近邻对iris数据集进行分类
- ActivityManager的作用
- java-FFmpeg(一) 实现视频的转码和截图功能
- Android Netd ndc
- Java多线程+线程池
- 编译原理实验-用FLEX自动构造词法分析程序
- C语言 fprintf 函数 - C语言零基础入门教程
- 360Win10的360wifi无速度问题