可以配置Hibernate使用javax.sql.DataSource实例吗?使用javax.sql.DataSource实例的Hibernate
我的应用程序已经有一个javax.sql.DataSource的实例,我宁愿不重新配置数据库URL,用户,密码,驱动程序等只是为了休眠。
可以配置Hibernate使用javax.sql.DataSource实例吗?使用javax.sql.DataSource实例的Hibernate
我的应用程序已经有一个javax.sql.DataSource的实例,我宁愿不重新配置数据库URL,用户,密码,驱动程序等只是为了休眠。
如果数据源通过JNDI可用,则只需设置配置的hibernate.connection.datasource属性 - mtpettyp的答案表明了这一点。
如果您不在数据源来自JNDI的环境中,请提供您自己的ConnectionProvider实现,并在构建会话工厂之前将其传递给Settings对象,或者在hibernate.connection中指定其类名.provider_class属性。如果您向“设置”提供实例,则可以实例化标准DatasourceConnectionProvider并将其提供给您的DataSource。
在你的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>
如果你使用Spring的初始化和春季会议工厂bean你可以简单地在数据源通过这样
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
...
</bean>
哪里dataSource引用是在别处定义的。