我在 Java 反射方面做了很多工作,并且我正在使用映射来存储应用程序中每个 bean 的元数据。我使用 className 作为键,所以,问题是当请求一个 bean 的 className 时)。
bean.getClass().getName()
我可以得到两个不同的结果,这取决于 bean 是否延迟加载(有些关系是惰性的,有些不是,但我想同时使用它们。
例如,类:
package com.factorit.beans;<br>
public class Task implements java.io.Serializable {
如果在正常加载的对象中调用,它会返回:
com.factorit.beans.Task
但如果在惰性初始化对象中调用,它会返回
com.factorit.beans.Task$$EnhancerByCGLIB$$f9d61939
我想知道是否有办法得到这个,或者我是否必须解析字符串。
非常感谢您的任何帮助或建议。
编辑: 只是添加一些信息:我的懒惰注释看起来像这样:
@javax.persistence.ManyToOne(fetch = javax.persistence.FetchType.LAZY)
我正在使用 Struts 2.1.8.1、Hibernate 3 和 Spring 2.5.6。