我正在使用带有hibernate.version的spring-boot 1.2.2:4.3.6.Final用于简单的操作,并使用@Converter将java8 LocalDateTime字段映射到时间戳.
在我的转换器类中,我使用autoApply = true,如下所示.
@Converter(autoApply = true)
public class LocalDateTimePersistenceConverter implements
AttributeConverter {
@Override
public java.sql.Timestamp convertToDatabaseColumn(LocalDateTime entityValue) {
return Timestamp.valueOf(entityValue);
}
@Override
public LocalDateTime convertToEntityAttribute(java.sql.Timestamp databaseValue) {
return databaseValue.toLocalDateTime();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我仍然需要在我的实体上使用@Convert.转换器类是我扫描的包的一部分.为了让它自动运行而不在所有数据库条目上使用@Convert,我必须做些什么?
::另外::
这是我的DB配置
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
lef.setDataSource(dataSource());
lef.setJpaVendorAdapter(jpaVendorAdapter());
lef.setPackagesToScan("path to domain and Converter class");
lef.afterPropertiesSet();
return lef;
}
@Bean
public JpaTransactionManager transactionManager() {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
return transactionManager;
}
@Bean
public JpaVendorAdapter jpaVendorAdapter() {
HibernateJpaVendorAdapter adapter …Run Code Online (Sandbox Code Playgroud)