gpt4 book ai didi

java - 如何在应用程序启动时从 java 代码更改 Hibernate connection.url 属性

转载 作者:行者123 更新时间:2023-12-02 05:47:26 26 4
gpt4 key购买 nike

hibernate.cfg.xml:

 <!-- Database connection settings -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:file:mycustomurl</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>

我的应用程序有一个自定义安装文件夹,我想在其中找到我的 hsql 数据库。问题是我每次启动时都会初始化应用程序主类中的位置。我该如何更改

<property name="connection.url">jdbc:hsqldb:file:mycustomurl</property>

mycustomurl 来 self 的主应用程序?所以我可以使用用户定义的应用程序目录?我还想更改主类中的用户名/密码属性。我将在哪里每次启动时从许可证文件生成密码。有没有办法做到这一点?我尝试了很多方法,但发现已弃用。我使用最新版本的 hibernate/hsqldb 。

我可以在硬盘上的某个地方生成 hibernate.cfg.xml 然后(以某种方式)加载它吗?解决这个问题的最佳方法是什么?

最佳答案

在你的助手类中你可以放这样的东西

我从link复制您提供

public class HibernateUtil {

private static final SessionFactory sessionFactory = buildSessionFactory();

private static SessionFactory buildSessionFactory() {
try {
Configuration configuration = new Configuration().configure()
.setProperty("hibernate.connection.url", "MY URL");
ServiceRegistryBuilder serviceRegistryBuilder = new ServiceRegistryBuilder()
.applySettings(configuration.getProperties());
return configuration.buildSessionFactory(serviceRegistryBuilder
.buildServiceRegistry());

} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory() {
return sessionFactory;
}

}

关于java - 如何在应用程序启动时从 java 代码更改 Hibernate connection.url 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23916053/

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