新 Spring 数据 JDK8 Jsr310JpaConverters 没有自动工作?

New Spring Data JDK8 Jsr310JpaConverters not working automatically?

我正在尝试使用 Spring Data JPA 1.8 新 jdk 日期转换器。

在我的 Spring 引导应用程序中,我添加了一个配置 class,例如:

@Configuration
@ComponentScan(basePackageClasses = LocalContainerEntityManagerFactoryBean.class)
@EnableJpaAuditing
public class DataConfig {
}

这就是 org.springframework.data.jpa.convert.threeten.Jsr310JpaConverters 建议如何应用自动转换的方式。我还使用了直接包引用,例如 org.springframework.data.jpa.domain.supportorg.springframework.data.jpa.convert.threeten.

问题是 jdk 8 日期转换没有发生导致 sql 异常。

但是,当我在我的域中手动应用转换器时 class 如:

@Convert(converter = Jsr310JpaConverters.LocalDateConverter.class)
private LocalDate birthdate;

然后转换就起作用了。

使用Spring启动可以简单地添加Jsr310JpaConverters如下

@EntityScan(basePackageClasses = { Application.class, Jsr310JpaConverters.class })
@SpringBootApplication
class Application { … }

或将 org.springframework.data.jpa.convert.threeten 添加到要扫描的包中。