使用javax.sql.DataSource的实例进行Hibernate
是否可以将Hibernate配置为使用javax.sql.DataSource实例使用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
我的应用程序已经有一个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并将数据源提供给它