В моем приложении я определил приведенную ниже конфигурацию для автоматического сбора всех файлов HBM в определенной папке в пути к классам.Укажите регулярное выражение для LocalSessionFactoryBean mappingLocations
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="mappingLocations">
<list>
<value>classpath:hbms/**/*.hbm.xml</value>
</list>
</property>
</bean>
Теперь, новое требование, необходимо создать несколько файлов HBM с именованными запросами, специфичными для базы данных. Имена файлов HBM будут иметь шаблон test.DB.hbm.xml. Например, test.oracle.hbm.xml и test.db2.hbm.xml. В дополнение к ним существуют старые обычные файлы HBM (для сопоставления таблиц) с форматом имени, как table1.hbm.xml, table2.hbm.xml и т. Д., Также присутствующие в одной папке.
Используя приведенный выше шаблон, спящий режим загрузки файлов не удался из-за дублирования именованных запросов в новых файлах hbm (так как имя было бы одинаковым во всех таких файлах).
Требование теперь заключается в загрузке обычных файлов HBM, а также конкретных HBM-файлов. Можно ли добиться этого, используя регулярное выражение, как показано ниже?
classpath:hbms/**/*.(.${dbType}).hbm.xml
В приведенном выше примере, DbType доступен как свойство Спринг среды. Моя попытка с этими изменениями не привела ни к одному из загружаемых файлов HBM (включая старые).
Я делаю что-то неправильно с регулярным выражением или это невозможно сделать с помощью конфигурации XML?
спасибо.
Путь, вероятно, разрешен [PathMatchingResourcePatternResolver] (http://docs.spring.io/spring-framework/docs/2.5.x/api/org/springframework/core/ io/support/PathMatchingResourcePatternResolver.html), поэтому это не стандартное регулярное выражение. Итак, как первый шаг, я бы избавился от этих круглых скобок. –