突然发现
hibernate会根据Set<EnterpriseObject>得到类型,本以为反射获得泛型除了"擦出大法"外没别的办法,今天看见了希望
根了好久代码,可算把这段代码找到了
在这里记录下,方便以后使用
然后再仿照我的例子就出来结果了
@OneToMany
@JoinColumn(name = "REFER_TO_ENTERPRISE_ID"
@LazyCollection(LazyCollectionOption.FALSE)
public Set<EnterpriseObject> getReferToEnterpriseObject() {
return referToEnterpriseObject;
}hibernate会根据Set<EnterpriseObject>得到类型,本以为反射获得泛型除了"擦出大法"外没别的办法,今天看见了希望
根了好久代码,可算把这段代码找到了
org.hibernate.reflection.java.JavaXMember
Type org.hibernate.reflection.java.JavaXMember.typeOf(Member member, TypeEnvironment env)
在这里记录下,方便以后使用
然后再仿照我的例子就出来结果了
package test.泛型.反射获得泛型;
import java.lang.reflect.Type;
import java.util.Set;
import sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl;
/**
*
* @author lidongbo
* 2010-12-28
*/
public class Color {
public Set<Color> test(){
return null;
}
public static void main(String[] args) throws SecurityException, NoSuchMethodException {
Type mTypes = Color.class.getDeclaredMethod("test").getGenericReturnType();
System.out.println(((ParameterizedTypeImpl)mTypes).getActualTypeArguments()[0]);
}
}
本文介绍了如何在Hibernate中利用泛型和反射机制获取集合类型的元素类型,通过具体实例展示了如何通过反射获取泛型参数的实际类型。
177

被折叠的 条评论
为什么被折叠?



