麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

JPA2.1與Java8 date/time

2019-11-14 09:49:23
字體:
來源:轉載
供稿:網友

java 8 開始引入了全新的時間API,但是因為JPA 2.1發布于Java 8之前,所以在JPA2.1中,Java 8 的新時間API是無法默認就被識別,正確地映射到數據庫的。

JPA&Hibernate

解決辦法主要有兩類: 1. 自己定義類型映射支持 2. 使用PRovider提供的擴展

通過AttributeConverter自定義映射支持

以通過AttributeConverter實現java.sql.Date和java.time.LocalDate的轉換為例

@Converter(autoApply = true)public class LocalDateAttributeConverter implements AttributeConverter<LocalDate, Date> { @Override public Date convertToDatabaseColumn(LocalDate locDate) { return (locDate == null ? null : Date.valueOf(locDate)); } @Override public LocalDate convertToEntityAttribute(Date sqlDate) { return (sqlDate == null ? null : sqlDate.toLocalDate()); }}

有上述Converter后,類型的轉換對于實體的使用者來說就是透明的,LocalDate與Date的轉換將會自動被應用于所有的attribute。

利用provider自身的擴展

JPA provider自身通常會有自己的擴展方式用于支持Java 8,以 Hibernate為例(5.0及以上),利用Hibernate自身的擴展只是加入一個額外的jar包的問題。

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-java8</artifactId> <version>5.1.0.Final</version></dependency>

這種方式不用寫任何額外的代碼即可實現對Java 8的支持,但是同時也明確的和JPA provider之間的直接依賴關系。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美色另类 | 国产在线导航 | 特级毛片a级毛片100免费 | av在线更新 | 曰韩黄色片 | 国产va在线观看 | 亚洲天堂在线电影 | 久久精品视频网址 | 日本爽快片100色毛片视频 | 欧美一级淫片免费播放口 | 热久久成人 | 国产精品成人av片免费看最爱 | 99精品国产视频 | 黄色成人小视频 | 毛片免费一区二区三区 | 精品一区二区亚洲 | 视频一区二区精品 | 一级做受毛片免费大片 | 黄网站在线免费 | 一区播放 | 日本欧美一区 | 精品一区二区三区网站 | 色无极影院亚洲 | 在线观看中文字幕国产 | 国产污污视频 | av一二三四区 | 成人情欲视频在线看免费 | 成人444kkkk在线观看 | 亚洲精品成人久久 | wwwcom国产| 欧美伦交 | 国产精品久久久久永久免费 | 日本xxxx视频 | 九九热精品在线 | 美女被免费网站在线软件 | 久久国产精品区 | 久久久久国产一区二区三区不卡 | 美女色影院 | 久久不射电影 | 久久久久九九九女人毛片 | 日日操夜夜透 |