日期:2014-05-17  浏览次数:20731 次

Struts+Spring+Hibernate整合创建表和Action的配置问题
1、我写一个web的项目,想在项目部署时自动的创建表,以后再次部署时则不创建,我试了hibernate.hbm2ddl.auto,把值设置为create,但是这样每次部署都会重新创建表,会造成数据丢失。我该怎么设置才能实现第一次创建但是以后不创建呢。我把hibernate的相关的配置文件写在了Spring的beans.xml中。
  2、在Struts中我把Action配置成了通配符:“*_*”,那么在Spring中把Action当做组件该如何配置? 在Action上加什么注解?向这样?@Component("*_*")、@Scope("prototype")。我试了,好像不可以。

------解决方案--------------------
你好,如果那个ddl应该改成update就好了,那样你新增加属性或者关系上去都会在你启动项目后自动更新这些东西到你的数据库里,还有就是你想把action用注解成组件,写上@Scope("prototype")是让这action不会出现单线访问的情况,不加上会出现莫名其妙的错误,最后就是@Component("*_*"),不用加后面的("*_*"),如果想通配就直接再在xml里面配置就可以了,用@Component注解后默认是该action类首字母小写
------解决方案--------------------
开发时:hibernate.hbm2ddl.auto 设置为update
部署时:hibernate.hbm2ddl.auto 设置为none