Я пишу библиотеку с пружинной загрузкой, и мне нужно программно вставить через нее перехватчик гибернации (потому что я не могу использовать .properties
в библиотеке).
Я хочу не предоставлять свой собственный компонент sessionFactory
, думаю, было бы неплохо оставить эту возможность для реализующего проекта, а также избавить меня от ручного сканирования сущностей.
Моя тупая идея заключалась в том, что я мог бы "ввести" мой перехватчик в JpaProperties
. Это не сработало вообще, оно пробежало @PostConstruct
, но ничего не изменилось. У меня было чувство, что это не сработает, но я хотел бы понять, почему и как я могу заставить это работать.
@Autowired private JpaProperties properties;
@Autowired private MyInterceptor myInterceptor; //yep a bean
@PostConstruct public void add() {
((Map) properties.getProperties())
.put(
"hibernate.session_factory.interceptor",
myInterceptor
);
}