У меня есть две базы данных (Oracle и SqlServer), и у меня есть одна и та же таблица (Province) в обеих. Я использую JPA с Hibernate, и мне нужно выполнять операции с любой из этих баз данных.
У меня есть файл сопоставления hbm для каждой таблицы, но оба относятся к одному и тому же классу (Province.java). Я настроил hibernate.Oracle.cfg.xml и hibernate.SqlServer.cfg.xml, чтобы правильно объявить сопоставления для каждой БД.
Я также использую Spring.
Вот моя проблема. Когда приложение загружается (на самом деле JUnit), оно пытается загрузить оба файла hbm, вызывая DuplicateMappingException, потому что Province.java дважды. Более того, если я сохраняю только один файл hbm и один файл конфигурации спящего режима, он все равно выдает исключение DuplicateMappingException; НО, если я удалю отображение из файла конфигурации гибернации, оно сработает (но я этого не хочу). Это означает, что файл hbm загружается автоматически, а затем загружается снова, поскольку он объявлен в файле конфигурации.
Есть ли способ избежать автоматической загрузки файлов hbm?