Hibernate3与Hibernate2的一个很大区别在于,Hibernate3的核心处理模块采用了“事件/监听器”设计模式。例如,当Hibernate从数据库加载一个对象时,它会触发一个加载事件。在默认情况下,该事件由Hibernate得内置默认监听器来处理,该监听器会从数据库中加载相应的对象。
Session的大部分方法,如load()、get()、save()、update()和delete()等,都能触发特定的事件,该事件由相应的监听器来处理。例如Session实现类得get()方法。