每次重新部署后hibernate会把数据库里表都drop掉,数据丢失

来源:互联网 发布:阿里云 个人备案 编辑:程序博客网 时间:2024/05/18 04:52

项目整合了hibernate和Struts,在做单元测试的时候,每次restart server会重新部署hibernate,
都会把数据库里的表全部drop掉,然后再重新create一遍,浪费时间又丢失数据,很是抓狂。

查看了hql执行语句如下:

log4j:WARN No appenders could be found for logger (org.jboss.logging).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.Hibernate:     alter table manage_system.arrange         drop         foreign key FK_4khajibxvibwv2hhpuf32403oHibernate:     alter table manage_system.class         drop         foreign key FK_h094m4avjlpj5a59iofm3d64wHibernate:     alter table manage_system.class         drop         foreign key FK_smwtn0ka09d09e8k7lhk012aiHibernate:     alter table manage_system.course         drop         foreign key FK_dvj5m9e22tes8dau8tmgu7hvgHibernate:     alter table manage_system.course         drop         foreign key FK_a16bnvtp9mjqvhdleyhjyqqkbHibernate:     alter table manage_system.course         drop         foreign key FK_j8cmxmacercydad75sxsj7x63Hibernate:     alter table manage_system.instruction         drop         foreign key FK_2g6m1mm125or0c8thvhgk3sx0Hibernate:     alter table manage_system.instruction         drop         foreign key FK_6oo5o60vutn95r0ax6hr6gqphHibernate:     alter table manage_system.instruction         drop         foreign key FK_atc332ql2jgwlou1cb3aixjbtHibernate:     alter table manage_system.selection         drop         foreign key FK_oyxbxbagd3w7kqivs08hktnaqHibernate:     alter table manage_system.student         drop         foreign key FK_5kmjhb5ooo9bpjoc5xwfj90pyHibernate:     alter table manage_system.student         drop         foreign key FK_t5nuvtgfnqxwnsad0hqwp9i7rHibernate:     alter table manage_system.student         drop         foreign key FK_opi304jgan6ieci9ybv2lbc9lHibernate:     alter table manage_system.teacher         drop         foreign key FK_fpacagh22luifd91bg2k88hx8Hibernate:     drop table if exists manage_system.academyHibernate:     drop table if exists manage_system.activityHibernate:     drop table if exists manage_system.arrangeHibernate:     drop table if exists manage_system.classHibernate:     drop table if exists manage_system.classroomHibernate:     drop table if exists manage_system.courseHibernate:     drop table if exists manage_system.instructionHibernate:     drop table if exists manage_system.majorHibernate:     drop table if exists manage_system.selectionHibernate:     drop table if exists manage_system.studentHibernate:     drop table if exists manage_system.teacherHibernate:     drop table if exists manage_system.userHibernate:     create table manage_system.academy (        aid varchar(255) not null,        aname varchar(255),        primary key (aid)    )Hibernate:     create table manage_system.activity (        actid varchar(255) not null,        acorg varchar(255),        acontent varchar(255),        primary key (actid)    )Hibernate:     create table manage_system.arrange (        arid varchar(255) not null,        caid varchar(255),        actype varchar(255),        acweek integer,        acnum integer,        rid varchar(255),        primary key (arid)    )Hibernate:     create table manage_system.class (        classid varchar(255) not null,        classname varchar(255),        stunum integer,        aid varchar(255),        majorid varchar(255),        primary key (classid)    )Hibernate:     create table manage_system.classroom (        rid varchar(255) not null,        rname varchar(255),        seatnum integer,        primary key (rid)    )Hibernate:     create table manage_system.course (        courseid varchar(255) not null,        coursename varchar(255),        credit double precision,        tid varchar(255),        aid varchar(255),        classhour integer,        examine varchar(255),        coursetype varchar(255),        rid varchar(255),        lnum integer,        cnum integer,        bweek integer,        eweek integer,        evaluate varchar(255),        coursetime varchar(255),        majorid varchar(255),        primary key (courseid)    )Hibernate:     create table manage_system.instruction (        insid varchar(255) not null,        courseid varchar(255),        rid varchar(255),        instime integer,        tid varchar(255),        primary key (insid)    )Hibernate:     create table manage_system.major (        majorid varchar(255) not null,        majorname varchar(255),        aid varchar(255),        obcredit double precision,        opcredit double precision,        sumcredit double precision,        primary key (majorid)    )Hibernate:     create table manage_system.selection (        stuid varchar(255) not null,        courseid varchar(255) not null,        primary key (stuid, courseid)    )Hibernate:     create table manage_system.student (        stuid varchar(255) not null,        stuname varchar(255),        stusex varchar(255),        stubirth date,        stuIDnum varchar(255),        sturace varchar(255),        stuindate date,        classid varchar(255),        majorid varchar(255),        aid varchar(255),        mail varchar(255),        edu varchar(255),        primary key (stuid)    )Hibernate:     create table manage_system.teacher (        tid varchar(255) not null,        tname varchar(255),        tsex varchar(255),        tbirth date,        tIDnum varchar(255),        trace varchar(255),        tindate date,        aid varchar(255),        mail varchar(255),        primary key (tid)    )Hibernate:     create table manage_system.user (        uid varchar(255) not null,        upwd varchar(255),        utype varchar(255),        primary key (uid)    )Hibernate:     alter table manage_system.arrange         add constraint FK_4khajibxvibwv2hhpuf32403o         foreign key (rid)         references manage_system.classroom (rid)Hibernate:     alter table manage_system.class         add constraint FK_h094m4avjlpj5a59iofm3d64w         foreign key (aid)         references manage_system.academy (aid)Hibernate:     alter table manage_system.class         add constraint FK_smwtn0ka09d09e8k7lhk012ai         foreign key (majorid)         references manage_system.major (majorid)Hibernate:     alter table manage_system.course         add constraint FK_dvj5m9e22tes8dau8tmgu7hvg         foreign key (tid)         references manage_system.teacher (tid)Hibernate:     alter table manage_system.course         add constraint FK_a16bnvtp9mjqvhdleyhjyqqkb         foreign key (aid)         references manage_system.academy (aid)Hibernate:     alter table manage_system.course         add constraint FK_j8cmxmacercydad75sxsj7x63         foreign key (majorid)         references manage_system.major (majorid)Hibernate:     alter table manage_system.instruction         add constraint FK_2g6m1mm125or0c8thvhgk3sx0         foreign key (courseid)         references manage_system.course (courseid)Hibernate:     alter table manage_system.instruction         add constraint FK_6oo5o60vutn95r0ax6hr6gqph         foreign key (rid)         references manage_system.classroom (rid)Hibernate:     alter table manage_system.instruction         add constraint FK_atc332ql2jgwlou1cb3aixjbt         foreign key (tid)         references manage_system.teacher (tid)Hibernate:     alter table manage_system.selection         add constraint FK_oyxbxbagd3w7kqivs08hktnaq         foreign key (stuid)         references manage_system.student (stuid)Hibernate:     alter table manage_system.student         add constraint FK_5kmjhb5ooo9bpjoc5xwfj90py         foreign key (classid)         references manage_system.class (classid)Hibernate:     alter table manage_system.student         add constraint FK_t5nuvtgfnqxwnsad0hqwp9i7r         foreign key (majorid)         references manage_system.major (majorid)Hibernate:     alter table manage_system.student         add constraint FK_opi304jgan6ieci9ybv2lbc9l         foreign key (aid)         references manage_system.academy (aid)Hibernate:     alter table manage_system.teacher         add constraint FK_fpacagh22luifd91bg2k88hx8         foreign key (aid)         references manage_system.academy (aid)Hibernate:     select        classroom0_.rid as rid1_4_,        classroom0_.rname as rname2_4_,        classroom0_.seatnum as seatnum3_4_     from        manage_system.classroom classroom0_Process finished with exit code 0

发现果然是全部drop,然后全部create。

解决方法:
修改hibernate.hbm.xml

<property name="hbm2ddl.auto">update</property>

hbm2ddl.auto设置成update,不要设成create,这样就不会每次部署hibernate都create一遍。

0 0
原创粉丝点击