Zaw*_* oo 3 java jpa eclipselink
是否有可能通过编程方式知道在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);
Run Code Online (Sandbox Code Playgroud)
输出:
Oracle
MySql
MSSql
DB2
....
Run Code Online (Sandbox Code Playgroud)
我从来不需要它,但我认为要走的路是获取JDBC连接并在其属性中查找该信息.特别是getClientInfo()和getMetaData()可能很有趣.
这可能是特定于实现的,但正如您所说的使用EclipseLink,您可以使用以下内容:
java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
Run Code Online (Sandbox Code Playgroud)
PS:我想你想解决一个有问题的问题.
| 归档时间: |
|
| 查看次数: |
2737 次 |
| 最近记录: |