【发布时间】:2019-11-03 05:05:41
【问题描述】:
我想注入所有 session.save() 如下所示。
public class MyHbnSession implements Session {
@Override
public Serializable save(Object obj) throws HibernateException {
if(obj instanceof MyClass) {
MyClass mc = (MyClass) obj;
mc.setVal("Injected Prop");
}
return super.save(obj);
}
}
然后每当我 getSession 我应该收到我的自定义会话对象
MyHbnSession session = HibernateUtil.getSessionFactory().openSession();
我找不到使用休眠的方法。还有两件我想念的主要事情
- org.hibernate.Session 是一个接口,而 org.hibernate.impl.SessionImpl 是实际的实现。但是在this case 中实现了会话
- 如何告诉 hibernate 这是我们的自定义会话实现,应该由会话工厂使用
请让我了解一下我所缺少的东西。感谢您的帮助。
PS : 我可以用 aspectj 做到这一点,但由于很多原因不想这样做。
【问题讨论】:
-
您的应用程序中是否使用了某种 CDI?
-
@Nico 抱歉,CDI 是什么意思?
-
某种依赖注入框架。抱歉,C 是错误的且具有误导性,它只是 DI。
标签: java hibernate inheritance hibernate3