Java 当Hibernate保存对象时,如何让对象执行内部代码?
下面的代码保存了objAJava 当Hibernate保存对象时,如何让对象执行内部代码?,java,hibernate,Java,Hibernate,下面的代码保存了objA A objA = new A(); session.save(objA); 调用session.save(A)时,我希望我的A对象执行一个内部方法/函数: onSave() { this.b = some code; } 我可以把密码放在哪里?是否有实际的onSave()方法,或要实现的接口或要扩展的抽象类?您可以使用Hibernate拦截器org.Hibernate.interceptor及其onSave 您可以使用。完成此操作,这也在官方的Hibernate
A objA = new A();
session.save(objA);
调用session.save(A)
时,我希望我的A
对象执行一个内部方法/函数:
onSave() {
this.b = some code;
}
我可以把密码放在哪里?是否有实际的
onSave()
方法,或要实现的接口或要扩展的抽象类?您可以使用Hibernate拦截器org.Hibernate.interceptor
及其onSave
您可以使用。完成此操作,这也在官方的Hibernate API中:。你指的是一个非常旧的Hibernate版本。(啊,你已经编辑了你的答案。)@Jesper谢谢你指出这一点(+1)。我刚刚更新了答案。是否每次调用session.save(obj)时都调用onSave()?但我希望它仅在保存A类obj时调用。在php或python中,有一种简便的方法,可以在类a中编写重写方法。
boolean onSave(
Object entity,
Serializable id,
Object[] state,
String[] propertyNames,
Type[] types)