How to properly use Spring AbstractEntityManagerFactoryBean.setEntityManagerInitializer method?

16 views Asked by At

I'm using ContextRefreshedEvent on @SpringBootApplication class. It seems to work, but is it recommended approach?

@SpringBootApplication
public class Application {

    @Autowired
    LocalContainerEntityManagerFactoryBean entityManagerFactoryBean;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @EventListener(ContextRefreshedEvent.class)
    public void customizeEntityManagerFactory() {
        entityManagerFactoryBean.setEntityManagerInitializer(entityManager -> {
            Session session = entityManager.unwrap(Session.class);
            session.enableFilter("deletedProductFilter").setParameter("isDeleted", false);
        });
    }
}
0

There are 0 answers