日期:2014-05-20  浏览次数:20729 次

关于Hibernate的映射和使用Spring后出现的问题
我自己写了一个Application小程序,用Hibernate映射比较简单的对象到数据库,配置文件里的hbm2ddl.auto参数配的是update,不用我手动建表,它自动就会建表,然后把对象

持久化。但是我再写一个web程序,它就报数据库里的某某表不存在,这是怎么回事呢?明明可以自动建表的啊!
还有我使用了Spring后,Hibernate的参数全部是再Spring的ApplicationContext.xml文件里面配置的,hbm2ddl.auto参数配的也是update,我使用了Spring的IOC和声明式事务

,结果还是不能自动建表,手动见表后就解决问题,难道使用Spring就不能自动建表吗?请高手们帮忙赐教!谢谢!!
我的Spring配置文件持久部分如下:


<beans> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass"> <value>org.gjt.mm.mysql.Driver</value> </property> <property name="jdbcUrl"> <value>jdbc:mysql://localhost:3306/test</value> </property> <property name="user"> <value>fejjsong</value> </property> <property name="password"> <value>fejjsong</value> </property> <property name="maxPoolSize"> <value>10</value> </property> <property name="minPoolSize"> <value>5</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="mappingResources"> <list> <value>com/fufu/vo/Good.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="show_sql">true</prop> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hbm2ddl.auto">update</prop> </props> </property>


------解决方案--------------------
排下版啊.楼主,不好看.
------解决方案--------------------
我重新排下版,配置文件如下
HTML code
<beans>
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass">
      <value>org.gjt.mm.mysql.Driver</value>
    </property>
    <property name="jdbcUrl">
      <value>jdbc:mysql://localhost:3306/test</value>
    </property>
    <property name="user">
      <value>fejjsong</value>
    </property>
    <property name="password">
      <value>fejjsong</value>
    </property>
    <property name="maxPoolSize">
      <value>10</value>
    </property>
    <property name="minPoolSize">
      <value>5</value>
    </property>
  </bean>
  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
      <ref local="dataSource" />
    </property>
    <property name="mappingResources">
      <list>
        <value>com/fufu/vo/Good.hbm.xml</value>
      </list>
    </property>
    <property name="hibernateProperties">
      <props>
        <prop key="show_sql">true</prop>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        <prop key="hbm2ddl.auto">update</prop>
      </props>
    </property>

------解决方案--------------------
自动建表,这个挺有趣,没有接触过,帮顶