Я бы хотел украсить менеджер сущностей, чтобы я мог что-то делать до / после делегирования вызова постоянному методу исходного. Кроме того, обязательно, чтобы репозитории JPA (интерфейсы, наследующие JpaRepository
, использовали это оформленное EntityManager
). Решения, использующие aop / перехват, приветствуются, так как репозитории JPA используют перехваченный EntityManager
.
Для простоты ниже приведен пример декоратора EntityManager
, имейте в виду, что хотя я и использую этот декоратор для записи чего-либо до / после делегирования вызова в реальном сценарии, я не буду использовать декоратор для регистрации.
public class CustomEntityManager implements EntityManager {
private EntityManager entityManager;
public CustomEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}
...
public void persist(Object entity) {
System.out.println("Before persisting...");
entityManager.persist(entity);
System.out.println("After persisting...");
}
...
}