ПРИМЕЧАНИЕ. Я знаю, что могу исправить это с помощью сценариев или поля базы данных, но мне любопытно получить доступ к строке подключения.Spring Hibernate: определить, какое соединение с базой данных
У меня есть две тестовые среды. У каждой есть своя база данных, одна для китайского и одна для английских данных. В противном случае две базы данных идентичны.
Единственное отличие - это строка подключения в моем beans.xml (ctest vs ctestzh).
\t <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
\t \t destroy-method="close">
\t \t <property name="driverClass" value="org.postgresql.Driver" />
\t \t <property name="jdbcUrl" value="jdbc:postgresql://localhost/ctest?useUnicode=true&characterEncoding=utf8" />
\t \t <property name="user" value="testuser" />
\t \t <property name="password" value="xxxx" />
....
\t </bean>
\t <!-- Hibernate
\t <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
\t \t destroy-method="close">
\t \t <property name="driverClass" value="org.postgresql.Driver" />
\t \t <property name="jdbcUrl" value="jdbc:postgresql://localhost/ctestzh?useUnicode=true&characterEncoding=utf8" />
\t \t <property name="user" value="testuser" />
\t \t <property name="password" value="xxxx" />
.....
\t </bean>-->
Я использую конфигурационный файл XML, который настраивает мое приложение либо процесс на английском или китайские данные. Если я забыл изменить beans.xml на соответствующие данные, однако, я повреждаю базу данных (т. Е. Помещаю китайские данные в английскую базу данных)
Могу ли я получить доступ к строке подключения в коде, чтобы я мог сбой, если я подключен к неправильной базе данных? Я посмотрел на SessionFactory, но ничего не увидел.