С копией и вставкой это не проблема, связанная с двумя конфигурационными файлами в спящем режиме.
Если вы абсолютно хотите иметь только один файл, вы создаете hibernate.cfg.xml со всем, что в обеих средах одинаково, и вы включаете второй файл, который содержит только строку подключения.
Например, как это в hibernate.cfg.xml:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" [
<!ENTITY database_connection SYSTEM "databaseConnection.xml">
]>
<hibernate-configuration>
<session-factory>
&database_connection;
<property name="show_sql">true</property>
<mapping resource="..."/>
...
<mapping resource="..."/>
</session-factory>
</hibernate-configuration>
Тогда вам нужен второй файл databaseConnection.xml
, который содержит информацию о соединении, и который включается автоматически при чтении конфигурации. Этот файл у вас есть в двух версиях, один для Tomcat, один для Glassfish. Если вы измените свои сопоставления, вам нужно всего лишь сделать это в одном файле, но при загрузке программного обеспечения вы должны обратить внимание на второй файл.
Я лично считаю, что версия с двумя файлами hibernate.cfg.xml проще и гибче.
(Кстати, в том числе файлов является функцией XML, не функции спящего режима).
Thx для вашего предложения. Этот подход имеет один существенный недостаток. Каждое изменение конфигурации спящего режима должно выполняться дважды. Он подвержен ошибкам и не подходит для среды разработки. – Maibua