не работает пружинный загрузчик в проводном репозитории Hibernate - PullRequest
0 голосов
/ 24 января 2019

Я использую перехватчик Hibernate для обновления и мне нужен репозиторий для сохранения в базе данных.

У меня автоматическое хранилище, и оно не работает. Всегда ноль. Вот мой код:

@Component
public class AuditInterceptor extends EmptyInterceptor {

@Autowired
private LogsRepository repository;

public boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState,
        String[] propertyNames, Type[] types) {
    if(entity instanceof Personnel) {
        for (int i = 0; i < propertyNames.length; i++) {
            if(currentState[i] != previousState[i]) {
                Log log = new Log();
                log.setEntity("Personnel");
                log.setIdEntity(id.toString());
                log.setPropertyChanged(propertyNames[i] );
                log.setOldValue(previousState[i]  != null ? previousState[i].toString() : "");
                log.setNewValue(currentState[i] != null ? currentState[i].toString() : "");
                log.setTimestamp(new Date());
                System.out.println(log.toString());
                repository.save(log);
                return true;
            }
            System.out.println("Property names :"+propertyNames[i]);
            System.out.println("Old value :"+previousState[i]);
            System.out.println("New value :"+currentState[i]);
        }
    }

    return false;
}

}

Перехватчик работает нормально, но LogRepository всегда равен нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...