Hibernate usando um exemplo de javax.sql.DataSource

votos
0

É possível configurar o Hibernate para usar uma instância javax.sql.DataSource?

Meu aplicativo já tem uma instância de javax.sql.DataSource e eu prefiro não re-configurar a url do banco de dados, usuário, senha, motorista etc apenas para hibernação.

Publicado 19/05/2009 em 18:48
fonte usuário
Em outras línguas...                            


3 respostas

votos
3

Se a fonte de dados está disponível através de JNDI, você só precisa definir a propriedade hibernate.connection.datasource da configuração - a resposta de mtpettyp demonstra isso.

Se você não estiver em um ambiente onde suas fontes de dados vêm de JNDI, fornecer sua própria implementação ConnectionProvider, e quer passá-lo para o objeto de configurações antes de construir a fábrica de sessão, ou especificar seu nome de classe na propriedade hibernate.connection.provider_class. Se você fornecer uma instância para Configurações, você provavelmente pode instanciar o DatasourceConnectionProvider padrão e dar-lhe o seu DataSource.

Respondeu 19/05/2009 em 19:03
fonte usuário

votos
3

Em sua 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>
Respondeu 19/05/2009 em 18:54
fonte usuário

votos
1

Se você estiver usando inicialização primavera e um bean Spring sessão fábrica você pode simplesmente passar na fonte de dados como este

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

onde a referência dataSource é definido em outro local.

Respondeu 19/05/2009 em 19:03
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more