Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
如何在运行时查询EclipseLink版本(加上JPA元数据)?_Jpa_Version_Eclipselink - Fatal编程技术网

如何在运行时查询EclipseLink版本(加上JPA元数据)?

如何在运行时查询EclipseLink版本(加上JPA元数据)?,jpa,version,eclipselink,Jpa,Version,Eclipselink,这个问题几乎说明了一切 EclipseLink中的org.hibernate.Version.getVersionString()是否有等价物 为什么没有一种可移植的(JPA)方法来查询提供商信息?从未使用过它,但可以从中尝试以下类: 有一个静态类和静态方法来获取此信息 示例:如何在java代码中打印 AbstractSessionLog.getLog().log(SessionLog.INFO, DatabaseLogin.getVersion()); 为什么没有一个JPA的方式来做到这一

这个问题几乎说明了一切

EclipseLink中的
org.hibernate.Version.getVersionString()
是否有等价物


为什么没有一种可移植的(JPA)方法来查询提供商信息?

从未使用过它,但可以从中尝试以下类:


有一个静态类和静态方法来获取此信息

示例:如何在java代码中打印

AbstractSessionLog.getLog().log(SessionLog.INFO, DatabaseLogin.getVersion());

为什么没有一个JPA的方式来做到这一点是JPA“专家组”的一个问题。JDO提供了一种获取JDO实现版本的机制。幸运的是,Eclipselink没有很好的文档记录。如果有,我想用RTFM;-)不适合我。。。(包org.eclipse.persistence不存在)我使用的是Glassfish 4.1,不知道eclipselink埋在哪个库中。可能在javaee-approved-api-7.0.jar或javaeewebapi中。知道我的web应用程序如何查询eclipselink版本吗?提前谢谢。@PierreC,同样的事情发生在我身上:EclipseLink是由运行时提供的,但由于它在编译时不可用,所以包不存在。解决方案:使用反射,如下所示:Class myClass=Class.forName(“org.eclipse.persistence.Version”);方法myMethod=myClass.getMethod(“getVersion”);字符串版本=myMethod.invoke(null).toString();