Спящий режим с использованием экземпляра javax.sql.DataSource - PullRequest
0 голосов
/ 19 мая 2009

Можно ли настроить Hibernate на использование экземпляра javax.sql.DataSource?

В моем приложении уже есть экземпляр javax.sql.DataSource, и я бы не хотел перенастраивать URL базы данных, пользователя, пароль, драйвер и т. Д. Только для режима гибернации.

Ответы [ 3 ]

3 голосов
/ 19 мая 2009

Если источник данных доступен через JNDI, вам просто нужно установить свойство конфигурации hibernate.connection.datasource - ответ mtpettyp демонстрирует это.

Если вы не находитесь в среде, в которой ваши источники данных происходят из JNDI, предоставьте свою собственную реализацию ConnectionProvider и передайте ее объекту Settings перед созданием фабрики сеанса или укажите его имя класса в hibernate.connection. свойство provider_class. Если вы предоставляете экземпляр для настроек, вы, вероятно, можете создать экземпляр стандартного DatasourceConnectionProvider и предоставить ему свой DataSource.

3 голосов
/ 19 мая 2009

В вашем 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">

<hibernate-configuration>
    <session-factory>
        <property name="dialect">
            org.hibernate.dialect.MySQLDialect
        </property>    
        <property name="connection.datasource">SampleDS</property>        
    </session-factory>

</hibernate-configuration>
1 голос
/ 19 мая 2009

Если вы используете инициализацию Spring и фабричный компонент Spring Session, вы можете просто передать источник данных следующим образом:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    ...
</bean>

где ссылка на источник данных определена в другом месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...