postgresql - 将 GCP Cloud SQL SocketFactory 与 Hibernate 配置一起使用
问题描述
我正在尝试从 GCP App Engine (GAE) 标准连接到 Cloud SQL Postgres 数据库实例。使用带有 Hibernate 的 Cloud SQL SocketFactory 的数据库实例连接名称 (my-project-id:europe-west1:db-instance-name)。
public static SessionFactory getSessionFactory()
{
if (sessionFactory == null) {
try {
Configuration configuration = new Configuration();
// Hibernate settings equivalent to hibernate.cfg.xml's properties
Properties settings = new Properties();
settings.put("hibernate.connection.provider_class","com.google.cloud.sql.postgres.SocketFactory");
settings.put("hibernate.hikari.minimumIdle","5");
settings.put("hibernate.hikari.maximumPoolSize","10");
settings.put("hibernate.hikari.idleTimeout","30000");
settings.put("hibernate.hikari.dataSource.url","jdbc:postgres://google/database-name?cloudSqlInstance=project:europe-west1:instance-id&socketFactory=com.google.cloud.sql.postgres.SocketFactory");
settings.put("hibernate.hikari.dataSource.user","postgres");
settings.put("hibernate.hikari.dataSource.password","password");
settings.put("hibernate.dialect","org.hibernate.dialect.MySQLDialect");
configuration.addAnnotatedClass(Country.class);
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
} catch (Exception e) {
LOGGER.info("============EXCEPTION===========>"+e.getMessage());
System.out.println(e.getMessage());
e.printStackTrace();
}
}
return sessionFactory;
无法创建请求的服务 [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
解决方案
我认为您使用的实现不适合 App Engine 标准,您应该检查可在官方文档中找到的 Google 实现。
推荐阅读
- ruby-on-rails - 未定义的方法“card_number”
- angular - 无法安装 Angular Cli
- amazon-web-services - PowerShell中需要AWS cli移动中的大小写敏感性
- c# - 如何为 Hangfire 的 mySQL 数据库设置“connectionString”?
- javascript - 更改 React 父组件状态
- javascript - 使用 appendChild 将图像添加到元素会产生错误
- android - 使用 ConstraintSet 以编程方式向视图添加约束不会在 Android 中给出预期结果?
- r - 如何在 R 中删除包含任何非字母字符(连字符和撇号除外)的单词
- algorithm - 检测 stl 网格文件中的特征
- docker - 如何在正在运行的 docker 容器中配置自动启动服务 [nginx]