В приложении Spring Boot + Spring Data JPA для поддержки JSR 310 java.time. *
API, нам нужно зарегистрировать этот Jsr310JpaConverters
вручную.
import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.jpa.convert.threeten.Jsr310JpaConverters; @EntityScan( basePackageClasses = {Application.class, Jsr310JpaConverters.class} ) @SpringBootApplication public class Application { //... }
P.S Протестировано с Spring Boot 1.5.1.РЕЛИЗ, Spring Data JPA 1.11.0.РЕЛИЗ
1. Полный Пример
1.1 Модель содержит java.time. Локальная дата
поле.
package com.mkyong.model; import javax.persistence.*; import java.time.LocalDate; @Entity public class Customer { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CUST_SEQ") @SequenceGenerator(sequenceName = "customer_seq", allocationSize = 1, name = "CUST_SEQ") Long id; String name; @Column(name = "CREATED_DATE") LocalDate date; //...
1.2 @entityscan
для сканирования и регистрации Преобразователи Jsr310JpaConverters
вот так:
package com.mkyong; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.data.jpa.convert.threeten.Jsr310JpaConverters; import java.util.Arrays; //for jsr310 java 8 java.time.* @EntityScan( basePackageClasses = {Application.class, Jsr310JpaConverters.class} ) @SpringBootApplication public class Application { public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } @Bean public CommandLineRunner run(ApplicationContext appContext) { return args -> { System.out.println("hello World!"); }; } }
Рекомендации
- Jsr310JpaConвертеры javadoc
- JSR 310: API даты и времени
- Весенние данные MongoDB + JSR-310 или Java 8 новые API-интерфейсы даты
Оригинал: “https://mkyong.com/spring-boot/spring-boot-spring-data-jpa-java-8-date-and-time-jsr310/”