如何在JPA中以编程方式了解数据库类型?

 童画小欧_904 发布于 2023-02-09 20:49

是否有可能通过编程方式知道在JPA中使用哪个数据库服务器?我认为,有一种方法,否则,JPA不能转换JPQLnative 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:我想你想解决一个有问题的问题.

1 个回答
  • 我从来不需要它,但我认为要走的路是获取JDBC连接并在其属性中查找该信息.特别是getClientInfo()和getMetaData()可能很有趣.

    这可能是特定于实现的,但正如您所说的使用EclipseLink,您可以使用以下内容:

    java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
    

    从这里参考.

    PS:我想你想解决一个有问题的问题.

    2023-02-09 20:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有