gpt4 book ai didi

java - 通过 Hibernate 访问连接中的 SSL 参数

转载 作者:太空宇宙 更新时间:2023-11-03 14:55:35 25 4
gpt4 key购买 nike

我正在使用一个 hibernate java 应用程序,它使用一个 session 工厂来创建连接和 session 。当我将它与 postgresql 数据库一起使用时,我传递了正确的 jdbc 连接字符串来构建 sessionfactory,然后从中获取我的 session 。我唯一能够访问的是 jdbc4connection。

我如何能够读取安全连接中使用的密码套件、使用的 SSL 协议(protocol)等?

下面是我如何初始化我的 session 工厂:

Configuration configuration = new Configuration();
Properties p = configuration.getProperties();
p.setProperty("hibernate.connection.url","jdbc:postgresql://127.0.0.1:5432/postgres?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory");
p.setProperty("hibernate.connection.username", "myusername");
p.setProperty("hibernate.connection.password", "mypassword");
p.setProperty("hibernate.connection.driver_class",
"org.postgresql.Driver");
p.setProperty("hibernate.dialect",
"org.hibernate.dialect.PostgreSQLDialect");
ServiceRegistry serviceRegistryWebOnkys = new StandardServiceRegistryBuilder()
.applySettings(p).build();
SessionFactory sessionFactory = configuration
.buildSessionFactory(serviceRegistryWebOnkys);

最佳答案

如果您可以找到如何通过常规 J​​DBC 执行此操作(我不知道它是如何完成的),那么您可以使用 Hibernate 执行相同的操作。

session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
// access the connection here and perform regular jdbc operations.
}
});

当我设置了一些只能在“OracleConnection.java”实例上设置的 Oracle 特定属性时,这是我必须做的。

oracle.jdbc.driver.OracleConnection oc = (oracle.jdbc.driver.OracleConnection) connection.getMetaData().getConnection()

关于java - 通过 Hibernate 访问连接中的 SSL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29804650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com