java是否有HibernateAPI来检查是否创建了数据库?
使用Hibernate,有没有办法确定这是否是第一次创建所有表的运行
在这段代码之后,是否有API(可能在SessionFactory
)来获取该状态:
sessionFactory = new Configuration().configure(new File("hibernate.cfq.xml")).buildSessionFactory();
对于我的用例,如果我知道创建了一个表就足够了
因此,我可以执行其他初始任务,例如将初始数据写入数据库
编辑:这是我正在使用的hibernate.hbm2ddl
:
<property name="hbm2ddl.auto">update</property>
# 1 楼答案
以下hibernate属性可能会帮助您:
此属性指定一个SQL脚本,该脚本将在启动时运行,在该脚本中,您可以轻松地查询元数据,并根据您需要的任何业务逻辑进行分支
值得注意的是,指定的脚本是在模式工具运行之后执行的,因此如果使用
update
,则会执行基于实体模型的任何更改,如果使用create
或create-drop
,则会创建模式