I have a source tree composed of source and test classes. When I run the tests, I’d like to use <property name="hbm2ddl.auto">create</property> while when running the code I’d like to use a validate value instead of create.
I thought to use two config files, one with all the properties and containing hbm2ddl.auto set to validate, and another with hbm2ddl.auto set to create. I hoped that the following code would have allowed me to read from the tests the basic file and override the only hbm2ddl.auto propery, but it doesn’t work (the value of hbm2ddl.auto is still the one read from hibernate.cfg.xml.
Configuration configuration = new Configuration();
configuration = configuration.
configure("hibernate.cfg.xml").
addResource("hibernate-test.cfg.xml");
How can I have two different values for a property, without replicating the whole config file?
It seems to me that when you have only a few values to override, one simple approach is to load the xml config as usual, and then call
setPropertyprogrammatically, like this:hbm.xml files don’t allow to override values with
addResource(...)as I tried to do, the values are only added and not overridden