Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javax.sql.DataSource的实例进行Hibernate_Java_Sql_Hibernate - Fatal编程技术网

使用javax.sql.DataSource的实例进行Hibernate

使用javax.sql.DataSource的实例进行Hibernate,java,sql,hibernate,Java,Sql,Hibernate,是否可以将Hibernate配置为使用javax.sql.DataSource实例 我的应用程序已经有一个javax.sql.DataSource实例,我不希望仅为hibernate重新配置数据库url、用户、密码、驱动程序等。在hibernate.cfg.xml中: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hi

是否可以将Hibernate配置为使用javax.sql.DataSource实例


我的应用程序已经有一个javax.sql.DataSource实例,我不希望仅为hibernate重新配置数据库url、用户、密码、驱动程序等。

在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>

org.hibernate.dialogue.mysqldialogue
样本

如果您使用的是spring初始化和spring会话工厂bean,您可以像这样简单地传入数据源

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

...

数据源引用是在别处定义的。

如果数据源通过JNDI可用,则只需设置配置的hibernate.connection.dataSource属性-mtpettyp的答案说明了这一点

如果您的环境中没有数据源来自JNDI,请提供您自己的ConnectionProvider实现,并在构建会话工厂之前将其传递给Settings对象,或者在hibernate.connection.provider\u类属性中指定其类名。如果为设置提供实例,则可能可以实例化标准DatasourceConnectionProvider并将数据源提供给它