With Spring boot 2.7.X/Hibernate 5 I was able to do something like this:
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages="com.somewhere.packages",
entityManagerFactoryRef = "sessionFactory",
transactionManagerRef = "hibernateTransactionManager")
public class TransactionConfig {
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setPackagesToScan("com.somewhere.packages.model");
sessionFactory.setHibernateProperties(hibernateProperties());
sessionFactory.setMetadataSources(new CustomMetadataSource());
...
return sessionFactory;
}
@Bean
public PlatformTransactionManager hibernateTransactionManager() {
HibernateTransactionManager transactionManager = new HibernateTransactionManager();
transactionManager.setSessionFactory(sessionFactory().getObject());
return transactionManager;
}
}
Whats the equivalent with spring-boot 3/hibernate 6?