一尘不染

在运行时进行Hibernate配置

hibernate

我有hibernate.cfg.xml文件。

<session-factory>

    <!-- Database connection settings -->
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url"></property>
    <property name="connection.username"></property>
    <property name="connection.password"></property>

    <!-- JDBC connection pool (use the built-in) -->
    <property name="connection.pool_size">1</property>

.....................

这是文件中最有趣的部分。现在,我必须设置缺少的值:URL,用户名,密码。我正在尝试以这种方式:

public static void SetSessionFactory() {
    try {

      AnnotationConfiguration conf = new AnnotationConfiguration().configure();
      // <!-- Database connection settings -->
      conf.setProperty("connection.url", URL);
      conf.setProperty("connection.username", USERNAME);
      conf.setProperty("connection.password", PASSWORD);
      SESSION_FACTORY = conf.buildSessionFactory();

    } catch (Throwable ex) {
      // Log exception!
      throw new ExceptionInInitializerError(ex);
    }
  }

但这只是从hibernate.cfg.xm加载我的配置,并且不更改任何属性…

url,用户名,密码-是命令行参数,因此我必须在运行时设置它们。


阅读 301

收藏
2020-06-20

共1个答案

一尘不染

尝试在conf.configure();这里打电话。
并且属性可能需要具有hibernate前缀,例如“ hibernate.connection.username”,
希望对您有所帮助。

2020-06-20