Как украсить EntityManager на Spring Boot - PullRequest
0 голосов
/ 07 ноября 2018

Я бы хотел украсить менеджер сущностей, чтобы я мог что-то делать до / после делегирования вызова постоянному методу исходного. Кроме того, обязательно, чтобы репозитории 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...");
    }

    ...
}
...