How to setup transaction management with hibernate 6 and Spring Boot 3 / spring 6?

917 Views Asked by At

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?

0

There are 0 best solutions below