Ich versuche Interzeptoren in meinem Frühling + Winterschlafcode zu verwenden.Hibernate Interceptor funktioniert nicht
Die inceptor Definition ist wie folgt:
public class myInterceptor extends EmptyInterceptor{
private static final long serialVersionUID = 1L;
Session session;
public void setSession(Session session) {
this.session=session;
}
public boolean onSave(Object entity,Serializable id,
Object[] state,String[] propertyNames,Type[] types)
throws CallbackException {
System.out.println("onSave");
return false;
}
public boolean onFlushDirty(Object entity,Serializable id,
Object[] currentState,Object[] previousState,
String[] propertyNames,Type[] types)
throws CallbackException {
System.out.println("onFlushDirty");
return false;
}
public void onDelete(Object entity, Serializable id,
Object[] state, String[] propertyNames,
Type[] types) {
System.out.println("onDelete");
}
//called before commit into database
public void preFlush(Iterator iterator) {
System.out.println("preFlush");
}
//called after committed into database
public void postFlush(Iterator iterator) {
System.out.println("postFlush");
}
}
und meine Abfangjäger Konfiguration und Verwendung in dao Klasse mit dao Unterstützung Hibernate erweitern
myInterceptor interceptor = new myInterceptor();
SessionFactory sessionFactory = getSessionFactory();
SessionBuilder sessionBuilder = sessionFactory.withOptions();
Session session = sessionBuilder.interceptor(interceptor).openSession();
interceptor.setSession(session);
Transaction tx = session.beginTransaction();
session.merge(member);
tx.commit();
session.close();
ist (ich Session Konfiguration anstatt zu dieser)
Das erste Problem ist, dass die Funktionen meines Abfängers nicht funktionieren außer preFlush und postFlush!
Das zweite Problem ist, wie ich diesen Interceptor als SessionFactory allgemeine Konfiguration verwenden kann, aber nur an meinem spezifischen Objekt und nicht allen Objekten arbeiten.
Bitte teilen EmptyInterceptor Code –
@NarendraPandey Es ist in org.hibernate Paket und es ist nicht mein Code. –