用户登录
用户注册

分享至

hibernate 自动建表 保存老数据

  • 作者: 小明________________
  • 来源: 51数据库
  • 2021-01-30
update
漏了"hibernate",若没写全会被框架认为没配置,所以不会导出schema;

关于update和create:
(1)update 但schema发生改变时进行更新,比如添加字段,保留原有数据;
(2)create 每次运行重新创建schema,如果表存在,先删除再创建,原有数据丢失;
update也会创建表,以下是配置>update<执行的代码(hibernate的源码): if="" (="" table.isphysicaltable()="" )="" {="" tablemetadata="" tableinfo="databaseMetadata.getTableMetadata(" table.getname(),="" (="" table.getschema()="=" null="" )="" defaultschema="" :="" table.getschema(),="" (="" table.getcatalog()="=" null="" )="" defaultcatalog="" :="" table.getcatalog(),="" table.isquoted()="" );="" if="" (="" tableinfo="=" null="" )="" {="" script.add(="" table.sqlcreatestring(="" dialect,="" mapping,="" defaultcatalog,="" defaultschema="" )="" );="" }="" else="" {=""> subiter = table.sqlAlterStrings(
dialect,
mapping,
tableInfo,
defaultCatalog,
defaultSchema
);
while ( subiter.hasNext() ) {
script.add( subiter.next() );
}
}

Iterator comments = table.sqlCommentStrings( dialect, defaultCatalog, defaultSchema );
while ( comments.hasNext() ) {
script.add( comments.next() );
}

}
}

表若不存在,也会被创建.




  createupdate只是更新 不做创建
软件
前端设计
程序设计
Java相关