禁用 spring jpa 的自动建表配置 spring.jpa.hibernate.ddl-auto

文章目录

    目前在 spring 的配置文件

    src/main/resources/application.properties

    中,设置了

    spring.jpa.hibernate.ddl-auto=update
    

    于是,每次启动 spring boot 时,都会根据 entity 类自动建表。

    但是,实际上,我并不需要这个功能,原因:

    • 因为我还是喜欢用 MySQL Workbench 来进行建表和该表操作
    • 线上生产环境自动执行 DDL 操作非常危险

    可选值

    • update:自动新增不存在的数据表,和字段。不会影响数据
    • create:自动新建不存在的数据表;但是,同时会清空数据。。。
    • create-drop:同 create,同时在服务停止时 drop 所有表。。。
    • validate:只校验,不修改表。但是校验什么呢?
    • none:啥也不做。

    看起来 none 是完全满足我的需求的。但是 validate 如果能做检查,岂不是更好?

    设置 validate 还是 none

    看起来 validate 更严谨一些,可以自动校验数据表字段是否映射到了 Entity 类属性上。

    spring.jpa.hibernate.ddl-auto=validate
    

    参考

    • https://zhuanlan.zhihu.com/p/143209111

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式