1

我需要从另一个服务 AMS(就像 amazon KMS)获取休眠连接 url、用户名和密码配置。

我编写了另一种方法来从 AMS 中获取这些值。但是如何设置/使用这些值休眠来连接我的数据库。

例如。休眠.cfg.xml

<property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">password</property>

实用程序.java

getAMSValue(propertyName){
...
}

我怎样才能做到这一点?

4

1 回答 1

1

为什么不在 java 文件而不是 XML 中指定完整的配置?

请参阅本文档

org.hibernate.cfg.Configuration 还允许您指定配置属性。

……

这不是将配置属性传递给 Hibernate 的唯一方法。一些替代选项包括:

  1. 将 java.util.Properties 的实例传递给 Configuration.setProperties()。
  2. 将名为 hibernate.properties 的文件放在类路径的根目录中。
  3. 使用 java -Dproperty=value 设置系统属性。
  4. 在 hibernate.cfg.xml 中包含元素(稍后讨论)。

在您的情况下,您可以在 java 文件中进行类似这样的配置

Configuration configuration = new Configuration().configure();

...
...
configuration.setProperty("hibernate.connection.url", getAMSValue("url"));
configuration.setProperty("hibernate.connection.username", getAMSValue("username"));
configuration.setProperty("hibernate.connection.password", getAMSValue("password"));
于 2017-03-31T05:14:28.263 回答