<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost/example</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
  <property name="dataSource">
    <ref local="dataSource"/>
  </property>
  <property name="mappingResources">
    <list>
      <value>eqzhou/AAA.hbm.xml</value>
    </list>
  </property>
  <property name="hibernateProperties">
    <props>
      <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>
      <prop key="hibernate.show_sql">true</prop>
    </props>
  </property>
</bean>
-----------------------------
在Spring的配置文件中,对Hibernate进行配置,但是要注意,这个时候hibernate的类是:
org.springframework.orm.hibernate.LocalSessionFactoryBean
而不是org.hibernate.SessionFactory.这样就不需要再配置 hibernate.cfg.xml了。很简单。也很好使!

解决方案 »

  1.   

    老兄,你的连接池呢?关键我要jdbc和hibernate公用连接池阿,而且我的配置本来也没有用 hibernate.cfg.xml,直接配置的spring的beanfactory.
      

  2.   

    我觉得不好吧,虽然没有试过,但是我记得hibernate里面在DBCP的基础之上又有缓存,两者共用似乎会造成数据不同步。如果两个各司其职,互不冲突倒没问题吧
      

  3.   

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName">
    <value>org.postgresql.Driver</value>
    </property>
    <property name="url">
    <value>jdbc:postgresql:DataBase</value>
    </property>
    <property name="username">
    <value>postgres</value>
    </property>
    <property name="password">
    <value>password</value>
    </property>
    </bean>
    </beans>
      

  4.   

    我说清楚些,我的配置是可以用的spring+hibernate,只是我没把<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">里的内容贴出来,因为比较长,我现在是想把连接池提取出来,好让jdbc也用这个连接池spring+hibernate+jdbc。
      

  5.   

    缓存当然就是用在读的更快上,而且就是因为读了缓存,可能就会出现JDBC更新的数据,无法显示在页面上的情况啊
      

  6.   

    如果没用2级缓存,应该不会出现这情况的,因为1级缓存是对应于线程的嘛,或者说Session的,那么Session结束了,缓存也就没了。
    这么设计主要是因为有老的代码用的是jdbc。
      

  7.   

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName">
    <value>org.gjt.mm.mysql.Driver</value>
    </property>
    <property name="url">
    <value>jdbc:mysql://localhost/example</value>
    </property>
    <property name="username">
    <value>root</value>
    </property>
    <property name="password">
    <value></value>
    </property>
    </bean>------------------------------
    这不是数据源,是什么呀?
      

  8.   

    这个数据源可以供sessionFactory使用,也可以工jdbc使用,难道还不可以吗?
      

  9.   

    有一点我不明白,你在Spring下配置完成,要用JDBC你完全可以用啊,Spring支持啊。你所说的公用链接池什么意思?
      

  10.   

    zeq258(近朱者赤),你好,这个配置我的文件里面有的,这个配置里面没有数据库连接池。