java吧 关注:1,294,182贴子:12,829,336
  • 8回复贴,共1

请教高手:基于SHH2的一个项目,为什么运行一次,会自动删除数据

只看楼主收藏回复

本人初学J2EE,运用SHH2准备编写一个小程序,可刚做了登陆,运行后,会自动删除数据库表中的数据,看代码没有问题,不知道怎么回事?想程序在别的机器上运行效果也是一样,只要重新运行一次,数据库表中数据就空了,看数据库日志是执行了DROP TABLE操作,附上代码请教各给高手大虾来看看问题出在哪?


1楼2012-08-20 17:25回复
    友情帮顶


    IP属地:江苏来自Android客户端2楼2012-08-20 17:27
    回复
      2026-01-11 02:12:18
      广告
      不感兴趣
      开通SVIP免广告
      贴吧不能上传附件,高手需要源码的可以Q我:406397039,谢谢!


      3楼2012-08-20 17:29
      回复
        希望大侠们帮帮忙,小弟都调一天了!谢谢


        4楼2012-08-20 18:30
        回复
          hibernate里面设置成create了吧?


          IP属地:美国5楼2012-08-20 18:41
          回复
            是的


            6楼2012-08-20 18:49
            收起回复
              问题解决了!把<prop key="hibernate.hbm2ddl.auto">create</prop> 改为<prop key="hibernate.hbm2ddl.auto">update</prop> 。再附详解,希望能帮到以后一些人少走弯路!
              hibenate.hbm2ddl.auto属性详解
              hibernate 配置属性中,hibernate.hbm2ddl.auto可以帮助你实现正向工程,即由java代码生成数据库脚本,进而生成具体的表结构.
              &在hibernate.cfg.xml中:
              Java代码 复制代码
              1. <property name="hibernate.hbm2ddl.auto">
              2. </property>
              <property name="hibernate.hbm2ddl.auto">
              </property>
              它包含4个属性:
              * create : 会根据你的model类来生成表,但是每次运行都会删除上一次的表,重新生成表,哪怕2次没有任何改变
              * create-drop : 根据model类生成表,但是sessionFactory一关闭,表就自动删除
              * update : 最常用的属性,也根据model类生成表,即使表结构改变了,表中的行仍然存在,不会删除以前的行
              * validate : 只会和数据库中的表进行比较,不会创建新表,但是会插入新值
              


              7楼2012-08-20 19:13
              回复