动态代理以自动保存模型

时间:2012-10-02 08:21:19

标签: java hibernate proxy-classes cglib

我正在尝试使用代理跟踪对象并在调用set *方法时保存它们,从而在java中发生一些自动魔术。我开始使用java的内置代理,一切正常,但从我能理解的,我需要一个每个模型的接口,这是我试图避免的。

这是CGLIB的用武之地,它允许我在不使用接口的情况下创建模型的代理。但是,我现在如何检索原始对象,即我想要保存的对象?

最佳解决方案将类似于hibernate使用的EntityManager接口,您可以保留原始对象,但仍然会对其进行跟踪。

1 个答案:

答案 0 :(得分:0)

MethodInvocation interface仅指定一个以MethodInvocation作为参数的方法。 MethodInvocation有几种方法来检索正在执行的对象:getStaticPart,getThis。你试过打电话给他们吗?

作为一个无耻的插件,你实际上可以将Hibernate与Xstream一起使用。这是关于Xstream持久性的my blog post。但在这种情况下,Xstream用于在数据库中以XML格式保存字段。