gpt4 book ai didi

java - 通过数据源配置属性与通过 hibernateProperties 配置属性

转载 作者:行者123 更新时间:2023-12-02 06:44:59 26 4
gpt4 key购买 nike

使用数据源和使用 hibernateProperties 之间有什么区别。我想在我的应用程序中将 c3P0 与 spring 一起使用。我找到了两种方法,但我无法理解两者之间的区别

第一:

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

<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.use_sql_comments">false</prop>


</props>
</property>

<bean id="dataSource" destroy-method="close"
class="com.mchange.v2.c3p0.ComboPooledDataSource" >
<property name="maxPoolSize" value="10" />
<property name="numHelperThreads" value="5" />


</bean>

第二:

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
>

<property name="hibernateProperties">
<props>


<property name="hibernate.c3p0.maxSize" value="100" />
<property name="hibernate.c3p0.numHelperThreads" value="5" />>


</props>
</property>
</bean>

最佳答案

首先您将获得一个 Spring 管理的数据源,您也可以将其用于 JdbcTemplate 或其他工作。

第二个你得到一个 Hibernate 管理的数据源,它不能被 Spring 重用。

我强烈建议使用第一种方法,因为它还可以非常轻松地替换数据源进行测试(通过将其替换为内存数据库)或将其替换为 JNDI 查找。

关于java - 通过数据源配置属性与通过 hibernateProperties 配置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com