运行成功了但是没有建表...
和我一样的问题~挣了半天,最后解决了
我的情况是控制台没有错误输出,但是也没有建表信息~~这个问题是由于spring4整合hibernate3的原因,换成最新版的hibernate5后没有问题,控制台正常输出建表语句,但是新的问题又来了
输出建表语句后mysql中没有表生成,原来是将主键eid和did设置成了String类型,换成integer后解决问题!!
这个问题好像是spring和hibernate整合的问题;我这样配置就可以建表,如果使用被注释掉的配置就不能自动建表
<!--配置hibernate的相关属性--> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <!--注入连接池--> <property name="dataSource" ref="dataSource"/> <!--配置hibernate的属性--> <property name="configLocation" value="classpath:hibernate.cfg.xml"/> <!--<property name="hibernateProperties">--> <!--<props>--> <!--<prop key="hibernate.hbm2ddl.auto">update</prop>--> <!--<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>--> <!--<prop key="hibernate.show_sql">true</prop>--> <!--<prop key="hibernate.format_sql">true</prop>--> <!--</props>--> <!--</property>--> <!--加载hibernate中的映射文件--> <property name="mappingDirectoryLocations"> <list> <value>classpath:/io/github/godfather1103/entity</value> </list> </property> </bean>
是你的web.xml 没有配置,确定有
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
这样应该就没有问题了
你的配置写错了检查一下一对多和多对一的关系映射的name和class是否正确,比如Department.hbm.xml的Set重的name就要对应Department类中Set的id。
还有MappingResource中的路径是否正确,Value应该是'/'而不是'.',因为会跟.hbm.xml的文件后缀起冲突