package org.hibernate.classic; import java.io.Serializable; import org.hibernate.CallbackException; import org.hibernate.Session; public interface Lifecycle { public static final boolean VETO = true; public static final boolean NO_VETO = false; public boolean onSave(Session s) throws CallbackException; public boolean onUpdate(Session s) throws CallbackException; public boolean onDelete(Session s) throws CallbackException; public void onLoad(Session s, Serializable id); }当对象实作Lifecycle接口时,会在save()、update()、delete()、load()等方法执行之前呼叫对应的onSave()、 onUpdate()、onDelete()与onLoad(),其中onSave()、onUpdate()、onDelete()与onLoad() 若传回true或丢出CallbackException,则对应的操作中止。
package org.hibernate.classic; public interface Validatable { public void validate() throws ValidationFailure; }如果定义时实作了Validatable接口,当对象被持久化之前会呼叫validate()方法,如果丢出ValidationFailure,则验证失败,对象的数据不会储存至数据库中。