Pir*_*ada 23 spring hibernate struts2 java-ee
想澄清一些困惑.我有applicationContext.xml.
问题1: 1和2之间的区别是什么?它们是否与不同的方法相同?
问题2:
我在Spring论坛上询问了一些问题.他提到的有关汇集的内容如下
如果您需要/想要使用内部连接池来进行hibernate,我会建议它,并简单地配置一个支持连接池的数据源并将其注入到sessionfactory中.
hibernate的内部连接池=这是下面的数字2.对?
只需配置一个支持连接池的数据源并将其注入sessionfactorybean =这是下面的数字1.对?
1# -
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxActive" value="100"/>
<property name="maxIdle" value="30"/>
<property name="maxWait" value="16000"/>
<property name="minIdle" value="0"/>
</bean>
<!-- Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="annotatedClasses">
<list>
<value>com.mkyong.customer.model.Customer</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.generate_statistics">true</prop>
</props>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
2# -
池和连接信息位于hibernate.cfg.xml中
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
Run Code Online (Sandbox Code Playgroud)
Ken*_*han 10
答案1:
两种方法都是一样的.默认情况下,hibernate从classpath:hibernate.cfg.xml
构建中读取配置SessionFactory
.LocalSessionFactoryBean
只允许你在里面设置hibernate配置applicationContext.xml
而不是hibernate.cfg.xml
.
如果在两个文件中指定了相同的属性,则根据属性,它将具有令人上瘾的效果,或者指定的属性 applicationContext.xml
将具有更高的优先级,hibernate.cfg.xml
以便忽略这些值 .
对于方法1,annotatedClasses
并且hibernateProperties
应该具有相应值的上瘾效果hibernate.cfg.xml
.DBCP dataSouruce in applicationContext.xml
会导致相关属性hibernate.cfg.xml
被忽略.
答案2:
对于方法2,如果未指定任何属性LocalSessionFactoryBean
,则所有hibernate配置均由hibernate.cfg.xml
.如果有配置中没有连接池hibernate.cfg.xml
,Hibernate的连接池算法默认情况下使用,这是相当简陋,不打算用于生产系统,甚至性能测试.
归档时间: |
|
查看次数: |
37741 次 |
最近记录: |