是否有Hibernate API来检查数据库是否已创建?

时间:2016-08-10 18:16:30

标签: java hibernate

使用Hibernate,有没有办法找出这是否是第一次创建所有表的运行?

在此代码之后,是否有API(可能在SessionFactory上)获得该状态:

sessionFactory = new Configuration().configure(new File("hibernate.cfq.xml")).buildSessionFactory();

对于我的用例,如果我知道创建了一个表就足够了 所以我可以做其他初始任务,例如将初始数据写入数据库。

编辑:这是hibernate.hbm2ddl我正在使用:

<property name="hbm2ddl.auto">update</property>

1 个答案:

答案 0 :(得分:1)

以下hibernate属性可以帮助您:

  

hibernate.hbm2ddl.import_files

此属性指定将在启动时运行的SQL脚本,您可以在其中轻松查询元数据并分支所需的任何业务逻辑。

值得注意的是,指定的脚本是在架构工具运行后执行的,因此如果您使用update,则会执行基于实体模型的任何更改,否则将创建架构。重新使用createcreate-drop