我根据此处提供的教程使用 Hibernate 开发了一个简单的 spring jar Tutorials Point
它正在按预期工作,没有出现任何问题。但我看到密码被硬编码在文件中,这在生产中是 Not Acceptable 。有没有办法调用下面的语句中的方法,该方法可以动态地将值分配给键。您能否指导如何实现生产就绪的 hibernate 配置文件。谢谢!!!
<property name = "hibernate.connection.password">
root123
</property>
是否可以做这样的事情
<property name = "hibernate.connection.password">
com.cfc.test.DBClass.getPassword(userName);
</property>
最佳答案
密码最终将以明文形式存储在某个地方。这已得到证明,因为您正在尝试找到一种方法将某些属性从另一个文件传递到此文件。
解决方案是不将此文件提交到版本控制中。相反,让每个开发人员或机器自行创建文件。这样,私有(private)凭证就永远不会被共享。如果需要,您可以维护一个包含整个 XML 文件(不包括密码)的模板,并建议用户更新该文件。
如果您确实想将值存储在其他文件中,然后在创建服务注册表之前更新 XML 文件,那么您可以简单地读取属性文件,更新 xml 文件,然后构建注册表。
关于java - Spring 和 Hibernate - 在 hibernate.cfg.xml 中无需硬编码密码即可使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61781977/