我自己写了一个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>
|
[该贴被fejjsong于2008-01-02 11:38修改过]
[该贴被fejjsong于2008-01-02 11:40修改过]
[该贴被fejjsong于2008-01-02 12:50修改过]