最近学习hibernate,发现了许多小问题。比如我马上就要介绍的使用SchemaExport自动生成数据表。
网上的许多资料都停留在3.x,4.x的生成方式,在5.x的使用与之前有了很大的不同。
一 3.x,4.x版本
Configuration cfg = new Configuration().configure();
SchemaExport export = new SchemaExport(cfg);
export.create(true, true);
二 5.0.1版本
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
MetadataImplementor metadataImplementor = (MetadataImplementor)
new MetadataSources(serviceRegistry).buildMetadata();
SchemaExport export = new SchemaExport(serviceRegistry, metadataImplementor);
export.create(true, true);
三 5.1.0版本
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
Metadata metadata = new MetadataSources(serviceRegistry).buildMetadata();
SchemaExport schemaExport = new SchemaExport();
schemaExport.create(EnumSet.of(TargetType.DATABASE), metadata);