1.如果采用程序建表:
4.x版本:
Configuration cfg = new Configuration().configure(); SchemaExport se = new SchemaExport(cfg); se.create(true,true);
5.x版本:
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build(); Metadata metadata = new MetadataSources(serviceRegistry).buildMetadata(); SchemaExport schemaExport = new SchemaExport(); schemaExport.create(EnumSet.of(TargetType.DATABASE), metadata);
通常的话,在hibernate.cfg.xml配置文件中,添加代码:
<property name="hbm2ddl.auto">create</property>
这样,当建立sessionFactory时,hibernate会自动检测数据库中是否有表,如果有,删除原来的表。如果没有,则自动建表,再做事务处理。
2.关于JDK版本
hibernate5.x要求JDK版本最低要1.7
hibernate5.x加入了JDK1.8支持,等待已久的LocalTime类可配置了。
hibernate5.x将Date类和Calendar类映射成了long类型,也就是说,在数据库中,java.util.Date类型的数据会以bigint类型保存,也就是日期的毫秒数。