漏了"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 {
Iterator
dialect,
mapping,
tableInfo,
defaultCatalog,
defaultSchema
);
while ( subiter.hasNext() ) {
script.add( subiter.next() );
}
}
Iterator
while ( comments.hasNext() ) {
script.add( comments.next() );
}
}
}
表若不存在,也会被创建.
没问题,应该行,要是实在不行你换成update变成create