cda*_*win 2 java unit-testing hibernate
我有一个由源代码和测试类组成的源代码树.当我运行测试时,我想<property name="hbm2ddl.auto">create</property>在运行代码时使用,而我想使用validate值而不是create.我想使用两个配置文件,一个包含所有属性,包含hbm2ddl.auto设置为validate,另一个配置为hbm2ddl.auto设置为create.我希望以下代码允许我从测试中读取基本文件并覆盖唯一的hbm2ddl.auto属性,但它不起作用(hbm2ddl.auto的值仍然是从hibernate.cfg读取的值). XML.
Configuration configuration = new Configuration();
configuration = configuration.
configure("hibernate.cfg.xml").
addResource("hibernate-test.cfg.xml");
Run Code Online (Sandbox Code Playgroud)
如何在不复制整个配置文件的情况下为属性设置两个不同的值?
在我看来,当你只有几个值要覆盖时,一个简单的方法是像往常一样加载xml配置,然后以setProperty编程方式调用,如下所示:
Configuration configuration = new Configuration();
configuration = configuration.configure("hibernate.cfg.xml");
configuration.setProperty("hibernate.hbm2ddl.auto", "create-drop");
Run Code Online (Sandbox Code Playgroud)
hbm.xml文件不允许覆盖addResource(...)我试图做的值,只会添加值而不会覆盖这些值
| 归档时间: |
|
| 查看次数: |
3083 次 |
| 最近记录: |