最新API方法:
Configuration configuration = new Configuration().configure(); ServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build(); SessionFactory sessionfactory = configuration.buildSessionFactory(registry); Session session = sessionfactory.getCurrentSession(); MetadataImplementor metadata = (MetadataImplementor) new MetadataSources(registry).buildMetadata(); SchemaExport export = new SchemaExport(registry,metadata); export.create(true,true);
生成表结构:// 创建配置对象Configuration config = new Configuration().configue();// 创建服务注册对象ServiceReqistry serviceReqistry = new ServiceRegistryBuilder().applySetting(config);// 创建sessionFactorySessionFactory sessionFactory = config.buildeSessionFactory(serviceReqistry);// 创建session对象Session session = sessionFactory.getCurrentSession();// 创建schemaExport对象SchemaExport export = new SchemaExport(config); export.create(true, true); // 第一个true表示生成表结构,第二个表示输出SQL语句
生成表结构: // 创建配置对象 Configuration config = new Configuration().configue(); // 创建服务注册对象 ServiceReqistry serviceReqistry = new ServiceRegistryBuilder().applySetting(config); // 创建sessionFactory SessionFactory sessionFactory = config.buildeSessionFactory(serviceReqistry); // 创建session对象 Session session = sessionFactory.getCurrentSession(); // 创建schemaExport对象 SchemaExport export = new SchemaExport(config); export.create(true, true); // 第一个true表示生成表结构,第二个表示输出SQL语句
hibernate 5.3.*版本创建SchemaExport对象方法:
ServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();
Metadata metadata = new MetadataSources(registry).buildMetadata();
SchemaExport export = new SchemaExport();
export.create(EnumSet.of(TargetType.DATABASE),metadata);

两个true,第一个表示生成表结构,第二个表示输出sql语句
他说创建了SchemaExport对象就可以不用创建SessionFactory对象和Session对象