是否有可能通过编程方式知道在JPA中使用哪个数据库服务器?我认为,有一种方法,否则,JPA不能转换JPQL
到native query
在运行时.我的程序也需要知道DB Server Type
.该功能有什么功能吗?
我用eclipseLink
&jpa 2.0
我的预期计划是:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPA"); String dbPlatform = emf.getDBPlatform(); System.out.println(dbPlatform);
输出:
Oracle MySql MSSql DB2 ....
Andrei I.. 5
我从来不需要它,但我认为要走的路是获取JDBC连接并在其属性中查找该信息.特别是getClientInfo()和getMetaData()可能很有趣.
这可能是特定于实现的,但正如您所说的使用EclipseLink,您可以使用以下内容:
java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
从这里参考.
PS:我想你想解决一个有问题的问题.
我从来不需要它,但我认为要走的路是获取JDBC连接并在其属性中查找该信息.特别是getClientInfo()和getMetaData()可能很有趣.
这可能是特定于实现的,但正如您所说的使用EclipseLink,您可以使用以下内容:
java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
从这里参考.
PS:我想你想解决一个有问题的问题.