我希望Hibernate创建数据库文件(SQLite),但只有在不存在的情况下。休眠:只有在不存在的情况下才创建数据库
现在在hibernate.cfg.xml我有这样一行:
<property name="hibernate.hbm2ddl.auto">create</property>
的问题是,数据库文件中的所有时间被创建,即使该文件存在。
我希望Hibernate创建数据库文件(SQLite),但只有在不存在的情况下。休眠:只有在不存在的情况下才创建数据库
现在在hibernate.cfg.xml我有这样一行:
<property name="hibernate.hbm2ddl.auto">create</property>
的问题是,数据库文件中的所有时间被创建,即使该文件存在。
尝试值切换到update
<property name="hibernate.hbm2ddl.auto">update</property>
试试这个:
<property name="hibernate.hbm2ddl.auto">update</property>
差异与update
之间create
是,update
将更新数据库,如果已创建数据库表,如果不创建数据库表将创建。
而create
将创建数据库表。如果表已经创建,那么它将删除所有的表,并再次创建表。在这种情况下,您的数据将会丢失。
这是我个人建议使用update
。
我尝试这样做:<属性名= “hibernate.hbm2ddl.auto”>创建但它总是创建数据库。 – MAGx2
显然你没有检查过hibernate手册,它解释了这个选项的不同变体。请记住,在发布问题之前,StackOverflow要求您自己做最少的研究。 – creinig
我写了一个简单的解决方案来跟踪链接:http://stackoverflow.com/a/25549938/1736002 您可以使用'import.sql'。所以,如果不存在数据库,hibernate会创建新的数据库。 – cguzel