Ich benutze Spring-Boot 1.2.2 mit Hibernate.Version: 4.3.6.Final für eine einfache Operation und war mit dem @Converter für Mapping java8 LocalDateTime Feld Zeitstempel.@Converter annotierte Klasse nicht automatisch im Frühjahr-Boot-Projekt erkannt
In meiner Konverterklasse verwendete ich autoApply = true wie unten.
@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();
}
}
Allerdings muss ich immer noch die @Convert auf meine Entität verwenden. Die Konverterklasse ist Teil der Pakete, die ich scanne. Muss ich etwas tun, damit das automatisch funktioniert, ohne @Convert für alle DB-Einträge zu verwenden?
:: Zusätzlich ::
Hier ist mein DB Config
@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;
}
Und '@ Converter' ist was? Spring erkennt nur annotierte "@ Component" -Bohnen (oder Bohnen, die mit einer Annotation versehen sind, die selbst mit "@ Component" wie "@ Service" versehen ist.). –
Agreed @ M.Deinum, aber ich konfiguriere auch Hibernate und hat die Pakete für Hibernate zu scannen definiert. Ich habe die Frage auch mit meiner Datenbank- und Hibernate Config-Klasse aktualisiert. Ich vermute, ich vermisse etwas ... Ich bin mir nicht sicher, was es ist? – Varesh
Sie verwenden Spring Boot, warum alles von Hand konfigurieren. Aber wieder was ist '@ Converter' wenn es keine' @ Komponente' ist, tut es nichts. Auch Winterschlaf muss wahrscheinlich darüber statt Frühling wissen. –