我正在使用一个hibernate java应用程序,它使用sessionfactory来创建连接和会话。当我在postgresql数据库中使用它时,我传递了正确的jdbc连接字符串来构建sessionfactory,然后从中获取我的会话。我唯一能够访问的是jdbc4connection。
我如何阅读在安全连接中使用哪种密码套件,使用哪种SSL协议等?
以下是我初始化sessionfactory的方法:
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);
答案 0 :(得分:0)
如果您可以通过常规JDBC了解如何使用它(我不知道它是如何完成的),那么您可以使用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()