gpt4 book ai didi

java - Hibernate:用另一个文件覆盖xml配置文件

转载 作者:行者123 更新时间:2023-11-30 06:35:23 26 4
gpt4 key购买 nike

我有一个由源类和测试类组成的源代码树。当我运行测试时,我想使用 <property name="hbm2ddl.auto">create</property>而在运行代码时,我想使用 validate值(value)而不是创造。我想使用两个配置文件,一个具有所有属性并包含 hbm2ddl.auto 设置为验证,另一个具有 hbm2ddl.auto 设置为创建。我希望下面的代码能让我从测试中读取基本文件并覆盖唯一的 hbm2ddl.auto 属性,但它不起作用(hbm2ddl.auto 的值仍然是从 hibernate.cfg 中读取的值。 xml.

Configuration configuration = new Configuration();
configuration = configuration.
configure("hibernate.cfg.xml").
addResource("hibernate-test.cfg.xml");

如何在不复制整个配置文件的情况下为一个属性设置两个不同的值?

最佳答案

在我看来,当您只有几个值要覆盖时,一种简单的方法是照常加载 xml 配置,然后以编程方式调用 setProperty,如下所示:

Configuration configuration = new Configuration();
configuration = configuration.configure("hibernate.cfg.xml");
configuration.setProperty("hibernate.hbm2ddl.auto", "create-drop");

hbm.xml 文件不允许用 addResource(...) 覆盖值,正如我尝试做的那样,这些值只被添加而不会被覆盖

关于java - Hibernate:用另一个文件覆盖xml配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117333/

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