溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jpa使用注解生成表時無外鍵問題如何解決

發布時間:2022-06-22 09:35:44 來源:億速云 閱讀:177 作者:iii 欄目:開發技術

這篇“jpa使用注解生成表時無外鍵問題如何解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“jpa使用注解生成表時無外鍵問題如何解決”文章吧。

jpa注解生成表時無外鍵

剛入手springboot時,在使用jpa實體注解生成表無外鍵。是因為jpa不知道使用何種Dialect創建,默認沒有外鍵。

在配置文件加上

database-platform: org.hibernate.dialect.MySQL5InnoDBDialect

就好了。

使用jpa自動建表不生成外鍵情況

springboot項目搭配的jpa使用時候,有一對多的關系注解,那么自動會生成外鍵。外鍵在有些時候,會導致代碼不能走通,我們不想要怎么做。

@ManyToOne
@JoinColumn(name="cid")

要使數據表中沒有外鍵關聯關系,注意兩點。

情況1

當兩邊都有關聯關系字段,1的這端利用@org.hibernate.annotations.ForeignKey(name = “none”),多的那端在

JoinColumn中加上foreignKey = @ForeignKey(name = “none”,value = ConstraintMode.NO_CONSTRAINT)

情況2

當只有多的那端有關聯字段,一的那段沒有關聯字段或者關聯字段被@Transient所修飾,請在多的那端在

JoinColumn中加上foreignKey = @ForeignKey(name = “none”,value = ConstraintMode.NO_CONSTRAINT)

 @ManyToOne
 @JoinColumn(name="cid",foreignKey = @ForeignKey(name = "none",value = ConstraintMode.NO_CONSTRAINT))

最后需要說明的是@org.hibernate.annotations.ForeignKey(name = “none”)這個注解被廢棄了,所以更新jar包的時候需要注意下。

以上就是關于“jpa使用注解生成表時無外鍵問題如何解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jpa
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女