如何通过Hibernate将java.lang.reflect.Method存储到数据库中

如何通过Hibernate将java.lang.reflect.Method存储到数据库中,java,hibernate,reflection,Java,Hibernate,Reflection,我有一个类引用了java.lang.reflect.Method,我需要存储该类和该引用 有人知道怎么做吗 在我看来,我无法直接完成,但我认为我可以将java.lang.reflect.Method分解为类名、方法名、类名参数,并存储这些字符串。这样,我可以在加载时从它们重新生成方法对象 这有意义吗?在这种情况下,你知道怎么做吗?你不能在数据库中保存方法实例。它是不可序列化的 最好是创建一对字符串,表示方法的名称和签名,以及定义它的类的完全限定名。如果将这些存储在数据库中,则可以使用反射重建方法

我有一个类引用了
java.lang.reflect.Method
,我需要存储该类和该引用

有人知道怎么做吗

在我看来,我无法直接完成,但我认为我可以将
java.lang.reflect.Method
分解为类名、方法名、类名参数,并存储这些字符串。这样,我可以在加载时从它们重新生成
方法
对象


这有意义吗?在这种情况下,你知道怎么做吗?

你不能在数据库中保存
方法
实例。它是不可序列化的

最好是创建一对字符串,表示方法的名称和签名,以及定义它的类的完全限定名。如果将这些存储在数据库中,则可以使用反射重建
方法
(和
)。。。前提是类在类路径上可用

你知道怎么做吗

使用
方法
API应该相当直接。我建议您阅读相应的Javadoc,并尝试自己编写代码。如果您有问题,请提出后续问题,包括给您带来问题的代码


你知道我应该如何/在哪里指定分解和重建策略吗?我希望Hibernate为我做这件事,这样我就不会污染我的业务模型层

在Java代码中。这不是Hibernate/JPA自动为您做的事情。(首先,关于类在类路径上存在的警告实际上意味着不能保证反向转换工作…)



实际上,您对持久化
方法
对象(以某种形式)的“需求”表明您的应用程序设计过于复杂。。。依我看。

你的想法是对的,执行吧。谢谢斯蒂芬!就这样。你知道我应该如何/在哪里指定分解和重建策略吗?为了不污染我的业务模型层,我希望Hibernate为我做这件事。很抱歉我最后的评论。我没有读完整的答案。再次感谢!是的,我完全同意:这通常意味着一个糟糕的设计,但这是一个由最终用户动态配置的测试应用程序。这就是为什么它是反射密集型的。我从不在基本应用程序中执行此类操作。