如何防止 Hibernate 删除我的表

Posted

技术标签:

【中文标题】如何防止 Hibernate 删除我的表【英文标题】:How To Prevent Hibernate From Dropping My Tables 【发布时间】:2014-04-30 11:05:10 【问题描述】:

我遇到了一些严重的休眠问题。它正在下降!我的桌子。翻翻日志发现这两行代码

    Hibernate: drop table if exists REFERENCES
    Hibernate: drop table if exists ACCOUNTS

现在无论实体规范有什么不同,我都希望 Hibernate 不会删除我的表。除此之外,根据我的经验,我发现它会随机删除数据并在数据库中进行更改。

现在这显然是一个严重的问题。如何防止休眠改变我的 SQL 模式?我宁愿让它抛出致命异常也不愿搞砸我的数据库!

【问题讨论】:

您是否在您的 persistence.xml 文件或 hibernate.cfg.xml 中启用了以下属性 true 这将对您有所帮助让您的查询更正确.. 我通过删除导致创建表的属性来解决它。现在它不是干涉...... @Ace 那个属性是什么? 【参考方案1】:

我认为更改 spring.jpa.hibernate.ddl-auto 属性可以解决您的问题。

据我所知,将其设置为 validateupdate 会按照您的意愿工作。

查看this answer了解更多信息。

【讨论】:

以上是关于如何防止 Hibernate 删除我的表的主要内容,如果未能解决你的问题,请参考以下文章

一对一映射 Hibernate

hibernate 级联删除

Hibernate映射文件

运行第二天出现hibernate的错误,org.hibernate.TransactionException: JDBC commit failed at org.hiber

Hibernate面试题

如何使用gradle获取Hibernate Search Lucene的所有依赖项?