Hibernate Event System

In this tutorial you will learn about the Event system in Hibernate.

Hibernate Event System

Hibernate Event System

In this tutorial you will learn about the Event system in Hibernate.

As concerned to Event it can be said that Event has replace the Interceptor however, it is added as an additional functionality to intercept pre-requisite or post-requisite operations before or after the functional logic. Hibernate 4 event architecture allows to work with the particular events at a persistence layer. Several Session interface's methods are mutually related to an event type. org.hibernate.event.spi.EventType class contains the a full scale defined event types that are declared as an enum values. It works when a request is made for one of these methods an event is generated by Hibernate Session and is passed to the appropriate EventListener that are set up for that event type. In Hibernate a custom listener is also allowed, in custom listener for an event (want to process) an appropriate interface is need to be implemented.

List of Some EventListener are :

  • AutoFlushEventListener
  • DeleteEventListener
  • PostDeleteEventListener
  • PreDeleteEventListener
  • InitializeCollectionEventListener
  • LoadEventListener
  • MergeEventListener
  • PostInsertEventListener
  • PreInsertEventListener
  • SaveOrUpdateEventListener : save, update, saveupdate

Example :

import java.util.Set;

import org.hibernate.HibernateException;
import org.hibernate.event.spi.DeleteEvent;
import org.hibernate.event.spi.DeleteEventListener;

public class MyListener implements DeleteEventListener
{

@Override
public void onDelete(DeleteEvent event) throws HibernateException {
System.out.println("deleted successfully");

}

@Override
public void onDelete(DeleteEvent event, Set set) throws HibernateException {

System.out.println("Set is deleted successfully");
}

}

The example given above is demo example it only demonstrate you how a custom listener can be created.