사이트에서이 주제에 대한 토론이 여러 번 있었지만 모든 주석을 사용하여 sessionFactory를 작성했습니다.주석 스타일에서 최대 절전 모드를 사용하는 다중 데이터베이스
private SessionFactory sessionFactory;
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
이이 내가이 경우 여러 DB의 통합을 달성하려면 어떻게 applicationContext.xml
<!-- add tomcat datasource instance to springs context -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/XXXXDS" />
<property name="resourceRef" value="true" />
</bean>
입니다
<hibernate-configuration>
<session-factory>
<property name="hibernate.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">xxxxx</property>
<property name="hibernate.connection.url">xxxxx</property>
<property name="hibernate.connection.username">XXXX</property>
<property name="hibernate.connection.characterEncoding">utf-8</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.use_sql_comments">true</property>
<mapping class="XXXX" />
</session-factory>
</hibernate-configuration>
처럼 hibernate.cfg.xml로 보이는 방법이다. 한 가지 해결책은 여러 hibernate.cfg.xml 파일을 만들고 다른 세션 팩토리를 만드는 것입니다.
그러나 나는 두 가지 의문의 여지가있다. 1) autowiring에서 어느 sessionFactory를 선택해야하는지, 2) hibernate.xml에서 많은 정보를 복제해야한다. 이 문제에 대해 더 명확한 접근법이 있습니까?
DAO에 콩 주입을 사용하고 싶지 않거나 사용할 수없는 이유가 있습니까? 그것은 당신의 문제를 해결할 것입니다. – bvulaj
죄송합니다. 더 구체적으로 말씀해 주시겠습니까?이 접근 방식에 대한 링크를 몇 가지 예를 들어 설명해주십시오. 나는 Spring + Hibernate에 익숙해 져서 나에게 유일한 상황이다. –
답변은 아래에 게시되었습니다. – bvulaj