Hibernate多對多關係映射(建表)

来源:http://www.cnblogs.com/LuckyBao/archive/2016/10/01/5925935.html
-Advertisement-
Play Games

下邊講述Hibernate多對多關係映射。 多對多關係的表的結構為: 兩個實體表,還包含一個關係表,關係表為複合主鍵,如果要使用Hibernate多對多關係映射,則關係表必須只包含兩個欄位,如果生成了Hibernate多對多關係映射,則中間關係表不會生成實體(即沒有對應的pojo類,更沒有其映射文件 ...


下邊講述Hibernate多對多關係映射。

多對多關係的表的結構為:

兩個實體表,還包含一個關係表,關係表為複合主鍵,如果要使用Hibernate多對多關係映射,則關係表必須只包含兩個欄位,如果生成了Hibernate多對多關係映射,則中間關係表不會生成實體(即沒有對應的pojo類,更沒有其映射文件)。

1、建立表

  1. DROP TABLE user_course ;  
  2. DROP TABLE user ;  
  3. DROP TABLE course ;  
  4. CREATE TABLE user (  
  5.     userid            varchar(20)              primary key ,  
  6.     name              varchar(20)              not null ,  
  7.     age               int                  not null ,  
  8.     birthday          date                 not null 
  9. );  
  10. CREATE TABLE course (  
  11.     id                int                  primary key auto_increment ,  
  12.     title             varchar(50)              not null,  
  13.     description          text                 not null,  
  14.    course_num        int                  not null 
  15. );  
  16. CREATE TABLE user_course (  
  17.     userid            varchar(20)              ,  
  18.     cid               int                  ,  
  19.     primary key (userid, cid ),  
  20.     foreign key (userid) references user (userid) on delete cascade ,  
  21.     foreign key (cid) references course (id) on delete cascade  
  22. ); 

2、生成映射

選擇三個表一起生成映射,選擇主鍵生成方式的那一步需要註意:

然後每個表的主鍵生成方式,各自獨立設置,即點擊下一步再設置,對於中間表,不需要選擇主鍵生成方式(參考複合主鍵映射)。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 安裝中的流程和問題 1、安裝準備 硬碟分區 下載rhel-server-6.2-i386-dvd.iso 接下來就是一些安裝過程 2、安裝教程有很多,可以結合參考: http://www.dedecms.com/knowledge/servers/linux-bsd/2012/0819/8430.h ...
  • 在最近的日常工作中由於經常會和Linux伺服器打交道,如Oracle性能優化、我們數據採集伺服器的資源利用率監控,以及Debug伺服器代碼並解決其效率和穩定性等問題。因此這段時間總結的有關Linux Shell的系列博客就給予了我極大的幫助,然而在實際的使用中卻發現,有的時候確實忘記了某個技術點或某 ...
  • 普通的vim的移動,編輯等命令就不再贅述。這裡主要是記錄一些不常見但是很逼格的命令,使你瞬間感到精神為之一振的命令 1. :Tlist 1)該命令是列出當前文件中的類名,變數名和函數名,移動時還會有提示。 2. :colorscheme desert 1)設置vim的界面風格,類似的還有 :colo ...
  • 由於linux伺服器允許多用戶登錄,工作造成一定的障礙,所以需要有時踢出指定的用戶 1.用 w 命令查看信息 # wroot pts/0 2010-10-28 09:36 (192.168.1.236)root pts/1 2010-10-28 09:40 (192.168.1.27) 2.我想踢出 ...
  • 前幾天,因為工作原因,連到了公司的一個java系統。查看數據的時候,突然整個人都不好了,資料庫中日期欄位時間為毛都是整型?之前從來沒有接觸過java,所心就趁機瞭解了一下。原來,在資料庫中,保存的是java中的System.currentTimeMillis()。這個返回是從1970年1月1日0時0 ...
  • 最近在網站首頁上想將Banner壁紙給做到後臺上傳隨時更改的效果。遇到問題便是:將上傳的圖片路徑動態添加到首頁css代碼中,結果嘗試了網上提供的思路,更改相對路徑,沒能成功。於是自己想過另一種實現方案 ...
  • 才學完幾個簡單的標簽 就突發奇想想做一個關於自己的網頁 再加上自己喜歡的人 然後就這麼做了 努力敲起了代碼 大概十幾分鐘的時間 一個簡單的網頁做起了 其實很low 但是還是很興奮的發給了自己的朋友 他們都說厲害了 這麼快就會做網頁了 我問我旁邊的人 她說很一般 突然就有點小失落 學得不怎麼樣 就知道 ...
  • 規則,相同則為假,不同則為真 1 ^ 1 = 0 1 ^ 0 = 1 以下為測試腳本。例子1是判斷一個數組所有的元素是否一致,例子2是異或做簡單加密的方法。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...