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,则验证失败,对象的数据不会储存至数据库中。