Sure;
there are different interfaces you can implement, depending on which event you want to listen to, like
PostDeleteEventListener, PostInsertEventListener, PostUpdateEventListener, ...
All of Hibernates internals are implemented by these events (like saving an entity is actually performed by such a listeners), and you can add more listeners and even replace de default ones.
http://fisheye.jboss.org/browse/Hibernate/search/trunk/src/main/java/org/hibernate/search/event/FullTextIndexEventListener.java?r=11631 is an example of a fairly complex listener, it's the one for Hibernate Search.
This can be enabled by code:
http://fisheye.jboss.org/browse/Hibernate/search/trunk/src/main/java/org/hibernate/search/event/EventListenerRegister.java?r=16306or by XML configuration:
http://docs.jboss.org/hibernate/stable/search/reference/en/html_single/#d0e1210just replace the classname with your own implementation; if you register them by code make sure to ADD your listeners to the array, not to replace the existing. Also remember the EventListener is shared across all Session(s), so. make sure it's threadsafe or stateless.