J'ai eu un problème en essayant de déboguer ceci. Mon but est d'essayer de sauvegarder l'audit de l'intercepteur d'hibernation. J'utilise botte de printemps (1.5.3) et veille prolongée 5.0.12Impossible d'insérer un audit de Hibernate Interceptor
Voici les journaux sql Mise en veille prolongée de sql
Mise en veille prolongée: sélectionnez nextval ('user_sequence')
Mise en veille prolongée: insérer dans les utilisateurs (heure de création, supprimé, description, modifiedby, modified_time, nom, email, activé, mot de passe, numéro de téléphone, rôle_id, gid) valeurs (?,?,?,?,?,?,?,?,?,?,?,?)
Mise en veille prolongée: sélectionnez nextval ('audit_sequence')
POST FLUSH DO NE
Comme vous pouvez le voir, il obtient la valeur nextval pour l'objet d'audit, mais n'insère pas les valeurs.
public void postFlush(@SuppressWarnings("rawtypes") Iterator iterator) throws CallbackException {
try {
AuditRepository auditRepo =(AuditRepository)ApplicationContextProvider.getApplicationContext().getBean("auditRepository");
synchronized(audits) {
for (Long id:audits.keySet()) {
auditRepo.save(audits.get(id));
}
}
} catch (Exception e) {
logger.error(e.toString(),e.toString());
} finally {
synchronized (audits) {
audits.clear();
}
}
System.out.println("POST FLUSH DONE");
}
J'utilise botte de printemps. Dans application.properties, spring.jpa.properties.hibernate.ejb.interceptor = AuditInterceptor. J'utilise les données de printemps jpa et sping. Je vais essayer votre approche de l'utilisation de HibernateUtil. mais je voudrais l'obtenir fonctionnant avec le ressort – Paul
@paul je le fais en fait au printemps mais pas la botte de ressort. – shadow
@paul faire un point d'arrêt à cette ligne service.add (audits.get (id)); pour voir s'il y a des valeurs dedans? – shadow