Tôi đang sử dụng khởi động mùa xuân 1.2.2 với hibernate.version: 4.3.6.Thực hiện cho một thao tác đơn giản và đang sử dụng @Converter để ánh xạ trường java8 LocalDateTime để dấu thời gian.@Converter chú thích lớp không nhận được tự động phát hiện trong mùa xuân khởi động dự án
Trong lớp chuyển đổi của mình, tôi đã sử dụng autoApply = true như dưới đây.
@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();
}
}
Tuy nhiên, tôi vẫn phải sử dụng @Convert trên thực thể của mình. Lớp chuyển đổi là một phần của các gói tôi quét. Có phải điều gì đó mà tôi phải làm để làm việc này tự động mà không cần sử dụng @Convert trên tất cả các mục nhập DB không?
:: Ngoài ::
Đây là DB Config tôi
@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 = new HibernateJpaVendorAdapter();
adapter.setDatabase(Database.ORACLE);
adapter.setShowSql(false);
adapter.setGenerateDdl(false);
return adapter;
}
Và '@ Converter' là gì? Spring chỉ phát hiện các bean được chú thích '@ Component' (hoặc các bean được chú thích một chú thích mà chính nó được chú thích bằng' @ Component' như '@ Service'.). –
Đồng ý @ M.Deinum nhưng tôi cấu hình ngủ đông và cũng đã xác định các gói cho Hibernate để quét. Tôi cũng đã cập nhật câu hỏi với lớp Cơ sở dữ liệu và Hibernate Config của mình. Tôi đoán, tôi đang thiếu một cái gì đó ... Tôi không chắc chắn nó là gì? – Varesh
Bạn đang sử dụng Spring Boot để cấu hình mọi thứ bằng tay. Nhưng một lần nữa '@ Converter' là gì nếu nó không phải là' 'Component', nó không làm gì cả. Ngoài ra hibernate có thể cần phải biết về nó thay vì mùa xuân. –