Мне нужно подключить несколько баз данных PostgreSQL. Я использую файлы свойств для получения свойств подключения к базе данных.Невозможно подключить несколько баз данных PostgreSQL, используя SPRING + HIbernate
Когда я запускаю приложение, он выдает ошибку, так как названный запрос не найден. Но когда я удаляю конфигурацию для второй базы данных, все работает отлично. Я также попробовал использовать каталог атрибут сопоставления hibernate. Но это не принесло никакого результата.
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:com/*****/config/jdbc.properties</value>
<value>classpath:com/*****/config/userLogin.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="false"/>
<property name="order" value = "1"/>
</bean>
спящий режим соединения с первым PostgresSQL DataBase
<bean id="teDaDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<property name="driverClassName" value ="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.databaseurl}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value ="${jdbc.password}"/>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="teDaDataSource"/>
<property name ="mappingLocations" >
<list>
<value>classpath:Country.hbm.xml</value>
<value>classpath:AccountType.hbm.xml</value>
<value>classpath:Stocks.hbm.xml</value>
</list>
</property>
<property name = "hibernateProperties">
<props>
<prop key="dialect">${hibernate.dialect}</prop>
<prop key="show_sql">${hibernate.showsql}</prop>
<prop key="hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="connection.autocommit">true</prop>
<prop key="hibernate.connection.release_mode">after_transaction</prop>
<prop key="transaction.auto_close_session">true</prop>
</props>
</property>
</bean>
<bean id="abstractDaoTarget" class="com.****.generic.dao.GenericDaoImpl" abstract="true">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id = "transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" lazy-init="true">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true" propagation="REQUIRED"/>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
конфигурации спящего режима для базы данных второго POSTGRES
<bean id="userLoginDaDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value ="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.databaseurl}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value ="${jdbc.password}"/>
</bean>
<bean id="userLoginSessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="userLoginDaDataSource"/>
<property name ="mappingLocations">
<list>
<value>classpath:SecurityQuestion.hbm.xml</value>
</list>
</property>
<property name = "hibernateProperties">
<props>
<prop key="dialect">${hibernate.dialect}</prop>
<prop key="show_sql">${hibernate.showsql}</prop>
<prop key="hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="connection.autocommit">true</prop>
<prop key="hibernate.connection.release_mode">after_transaction</prop>
<prop key="transaction.auto_close_session">true</prop>
</props>
</property>
</bean>
<bean id="abstractDaoTarget" class="com.bhaskar.generic.dao.GenericDaoImpl" abstract="true">
<property name="sessionFactory">
<ref bean="userLoginSessionFactory"/>
</property>
</bean>
<bean id = "transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" lazy-init="true">
<property name="sessionFactory" ref="userLoginSessionFactory" />
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true" propagation="REQUIRED"/>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
Класс-таблица отображения файла
<hibernate-mapping>
<class name="com.*****.entity.Country" table="primary_data.country">
<id name="countryId" type="int">
<column name="country_id" not-null="true"/>
<generator class="increment"/>
</id>
<property name="countryName" type="string">
<column name="country_name" length="100" not-null="true"/>
</property>
<property name="countryDesc" type="string">
<column name="country_desc" length="100"/>
</property>
<property name="countryCapital" type="string">
<column name="country_capital" length="100" not-null="true"/>
</property>
</class>
<query name="getAllCountry">from Country </query>
</hibernate-mapping>
недвижимости конфигурационный файл для второй базы данных
jdbc.driverClassName=org.postgresql.Driver
jdbc.databaseurl=jdbc\:postgresql\://localhost\:5432/userLogin
jdbc.username=******
jdbc.password=******
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.showsql=false
hibernate.hbm2ddl.auto=update
Свойство Файл конфигурации для первой базы данных
jdbc.driverClassName=org.postgresql.Driver
jdbc.databaseurl=jdbc\:postgresql\://localhost\:5432/*****
jdbc.username=*******
jdbc.password=******
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.showsql=false
hibernate.hbm2ddl.auto=update
Любая помощь будет оценена
Также вы можете отправить полный стек. – John
Ошибка создания компонента с именем «handlerMapping», определенным в ресурсе пути к классу [com/****/config/applicationContext-base.xml]: Инициализация компонента не выполнена; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: вызов метода init не удался; Вложенное исключение - org.hibernate.HibernateException: Ошибки в именованных запросах: getAllCountry –
Это не полная трассировка стека. Измените свой вопрос и опубликуйте полную трассировку стека. –