Spring起動+ SpringデータJPAアプリケーションでは、JSR310

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ブートでテスト済み1.5.1.RELEASE、SpringデータJPA 1.11.0.RELEASE

1.完全な例

1.1モデルには `java.time.LocalDate`フィールドが含まれています。

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!");

        };
    }

}

参考文献

  1. リンク://mongodb/spring-data-mongodb-jsr-310-or-java-8-new-date-apis/[Spring

データMongoDB + JSR-310またはJava 8の新しいDate API]