解決jhipster修改jdl生成的實體類報錯:liquibase.exception.ValidationFailedException: Validation Failed
jhipster修改jdl生成的實體類報錯
使用jhipster創(chuàng)建一個實體類之后,發(fā)現(xiàn)實體類不滿足業(yè)務需求,需要修改:
如果是使用jdl創(chuàng)建的,那么我們只需要在原先的.jh文件中修改實體類內(nèi)容,然后在項目根目錄下執(zhí)行命令:
jhipster import-jdl my_file1.jh
啟動項目時發(fā)現(xiàn)會報錯
報錯信息
1 change sets check sum
config/liquibase/changelog/20190321053210_added_entity_Author.xml::20190321053210-1::jhipster was: 7:5a71ff93afda44eb57cf5111d94d4e2a but is now: 7:4f35ce5457b0fb6942f2f418533775c6
liquibase.exception.ValidationFailedException: Validation Failed:
1 change sets check sum
config/liquibase/changelog/20190321053210_added_entity_Author.xml::20190321053210-1::jhipster was: 7:5a71ff93afda44eb57cf5111d94d4e2a but is now: 7:4f35ce5457b0fb6942f2f418533775c6at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:266)
at liquibase.Liquibase.update(Liquibase.java:210)
at liquibase.Liquibase.update(Liquibase.java:192)
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:431)
at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:388)
at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.initDb(AsyncSpringLiquibase.java:103)
at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.lambda$afterPropertiesSet$0(AsyncSpringLiquibase.java:83)
at io.github.jhipster.config.liquibase.AsyncSpringLiquibase$$Lambda$517/264907848.run(Unknown Source)
at io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor.lambda$createWrappedRunnable$1(ExceptionHandlingAsyncTaskExecutor.java:68)
at io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor$$Lambda$518/1505357671.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
解決方法(有兩種)
1.如果數(shù)據(jù)庫中還沒有數(shù)據(jù),可以直接將數(shù)據(jù)庫中表全部刪除,然后重新啟動項目,jhipster會自動在數(shù)據(jù)庫中再次生成一遍表結構
2.但有時候我們沒辦法將數(shù)據(jù)庫中的表全部刪除,
那只有用第二種方法了:在數(shù)據(jù)庫中手動修改我們在實體類中修改的內(nèi)容,修改完后,執(zhí)行sql語句:
UPDATE DATABASECHANGELOG SET MD5SUM = 'your MD5SUM'
your MD5SUM 是可以在報錯信息中找到的,就是第一行報錯信息中的but is now:后面的值,我這里是:7:4f35ce5457b0fb6942f2f418533775c6
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot監(jiān)控SQL運行情況的流程步驟
Druid是Java語言中最好的數(shù)據(jù)庫連接池,雖然?HikariCP?的速度稍快,但是,Druid能夠提供強大的監(jiān)控和擴展功能?,也是阿里巴巴的開源項目,本文給大家介紹了SpringBoot監(jiān)控SQL運行情況的流程步驟,需要的朋友可以參考下2024-03-03Java使用OpenCV3.2實現(xiàn)視頻讀取與播放
這篇文章主要為大家詳細介紹了Java使用OpenCV3.2實現(xiàn)視頻讀取與播放,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07Java JDBC連接Kerberos認證的HIVE和Impala方式
本文主要介紹了HiveJDBC和ImpalaJDBC的使用方法,包括版本對應、Maven安裝、主機名配置、端口開通、JDBC連接和Kerberos認證等2025-02-02Java加密解密工具(適用于JavaSE/JavaEE/Android)
這篇文章主要介紹了Java加密解密工具,適用于JavaSE/JavaEE/Android,感興趣的小伙伴們可以參考一下2016-04-04Java線程基本使用之如何實現(xiàn)Runnable接口
這篇文章主要介紹了Java線程基本使用之如何實現(xiàn)Runnable接口問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01