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