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

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

JPA2.1與Java8 date/time

2019-11-14 10:00:37
字體:
來源:轉載
供稿:網友

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级片免费观看 | 亚洲精品3 | 中文字幕国产亚洲 | 日韩视频www | 国产精品一区二区x88av | 成人一级视频在线观看 | 免费永久看羞羞片网站入口 | 一本色道久久综合亚洲精品图片 | 亚洲第一成人在线观看 | 欧美日韩中文字幕在线 | 久久久精品网站 | 欧美一区成人 | 99精品视频在线免费观看 | 欧美精品久久久久久久久久 | 久久99精品久久久久久国产越南 | 午夜精品毛片 | 二区视频| 性插视频 | 九九精品影院 | 精品国产一区二区三区久久久蜜月 | 免看黄大片aa | 国产精品一区二区三区在线 | 黄色片在线播放 | a黄网站| 亚洲欧美天堂 | 本色视频aaaaaa一级网站 | 国产成人精品视频在线 | 激情毛片| 亚洲电影在线播放 | 久久精品成人影院 | 久久久久久久久久91 | 欧美一级特黄特色大片免费 | 好吊一区二区三区 | 视频在线色 | 毛片在线免费观看网址 | 免费观看黄色影片 | 护士xxxx| 成人午夜免费在线观看 | 成人国产在线看 |