Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取@Id';s来自JPA的数据类型_Java_Hibernate_Reflection_Jpa - Fatal编程技术网

Java 获取@Id';s来自JPA的数据类型

Java 获取@Id';s来自JPA的数据类型,java,hibernate,reflection,jpa,Java,Hibernate,Reflection,Jpa,我正在编写一个库,它将用于通过JPA休眠多种类型的EJB。从JPA加载EJB时,库需要用@Id注释字段的数据类型。可以在EJB的超类上注释@Id。Hibernate或JPA中是否有一种方法可以获取@Id的数据类型 我很想使用反射,但这需要递归和JPA中可能已经存在的代码。如果您可以访问Hibernate SessionFactory,您可以调用sf.getClassMetaData(“Your.Class.Name”).getIdentifierType().getReturnedClass()

我正在编写一个库,它将用于通过JPA休眠多种类型的EJB。从JPA加载EJB时,库需要用@Id注释字段的数据类型。可以在EJB的超类上注释@Id。Hibernate或JPA中是否有一种方法可以获取@Id的数据类型


我很想使用反射,但这需要递归和JPA中可能已经存在的代码。

如果您可以访问Hibernate SessionFactory,您可以调用
sf.getClassMetaData(“Your.Class.Name”).getIdentifierType().getReturnedClass()
(请记住对该代码进行空检查;)