Buronya Adetɔn
學習
Adesua ahorow
任務
問卷及小測驗
遊戲
幫助
學習提醒時程表
社群
使用者
論壇
聊天
文章
成功故事
活動
評論
訂閱
亮色主題
課堂
評論
關於我們
開始
開始學習
現在就開始學習
Me Nkɔso
Adesua ahorow
探索地圖
課堂
所有探索
所有等級
刪除對象
SQL & Hibernate
等級 11,
課堂 4
使用 remove() 方法刪除 最後,讓我們看看刪除一個對象。原則上,從數據庫中刪除對象非常簡單,但正如他們所說,存在細微差別。有六個這樣的細微差別: 使用remove()方法刪除 為公司除名 被孤兒移除 使用 JPQL 刪除 通過 NativeQuery 刪除 軟刪除() 我們將從最明顯的解決方案開始——調用remove()方法。 User user = new User();
映射原始數據類型
SQL & Hibernate
等級 12,
課堂 0
支持的數據類型 在前面的三個級別中,我們對Hibernate 有了一些了解。現在是第二輪的時候了。現在我們將開始研究同樣的事情,只是更深入。我們將從將實體類的字段映射到數據庫中表的列開始。 如您所知,將實體類中的字段映射到列是使用@Column註釋完成的。現在的問題是:什麼類型的字段可以用這樣的註解映射? Java 中的所有數據類型都可以分為三組: 該類型非常簡單,易於存儲在數據庫中。 類型複雜,需要自己寫一個專門的轉換器。 該類型非常複雜,需要一個單獨的表來存儲它的值。 H
有用的數據映射場景
SQL & Hibernate
等級 12,
課堂 1
Mapim枚舉 我們已經弄清楚瞭如何映射原始數據類型:我們使用@Column註釋和@Type註釋。但並非所有情況都可以被這些註釋覆蓋。最常見的情況是enum。 Java 枚舉對象可以通過兩種方式存儲在數據庫中: 作為一個數字 作為一個字符串 讓我們寫一個小例子,用戶將有一個最喜歡的顏色,它是使用枚舉設置的。 enum Color {
首要的關鍵
SQL & Hibernate
等級 12,
課堂 2
@Id註解 Hibernate 中的每個 Entity 實體都必須有一個字段作為主鍵:它包含該類所有對象的唯一值。通常,此字段使用@Id註釋進行註釋。 一般形式: @Id
日期映射
SQL & Hibernate
等級 12,
課堂 3
4.1 歷史的補充 將 Java 對象保存到數據庫的任務幾乎是在 Java 語言創建後立即發生的。當時,Java 語言中只有一種數據類型 Date,它按照 UNIX 時間標準存儲時間:自 1970 年以來的毫秒數。 嗯,在當時的數據庫中,日期已經有不同的數據類型,至少日期、時間和日期+時間有不同的類型: 日期 時間 時間戳 因此,Java 語言的創建者為其添加了一個特殊的包——java.sql,其中包含類: java.sql.日期 java.sql.時間 java.sql.時
數據刷新管理
SQL & Hibernate
等級 12,
課堂 4
5.1 數據變化時間 當您在數據庫中存儲各種記錄多年時,經常會出現兩個問題: 這個條目是什麼時候添加到數據庫中的? 此條目上次更改的時間是什麼時候? 這些是非常頻繁的任務,以至於數據庫中幾乎每個表都添加了兩列: 創建時間 更新時間 第一個存儲記錄創建的日期和時間,第二個存儲上次修改的日期和時間。每個實體類都有字段:
對象映射
SQL & Hibernate
等級 12,
課堂 5
6.1 在服務器上存儲文件 有時需要將二進制對象保存到數據庫中。例如,文件。如果文件很大,那麼最合理的做法是將其存儲在磁盤上的單獨文件夾中,並將其路徑存儲在數據庫中。例子: c:\db-files\users\12355\avatar.jpg
使用不同的數據類型轉換器
SQL & Hibernate
等級 12,
課堂 6
7.1 創建自己的類型轉換器 有時,當您想在表的一列中存儲相當複雜的數據類型時,會出現這種情況。如果 Hibernate 知道如何將它轉換為字符串(並返回),那麼一切都很好。如果沒有,那麼您將不得不編寫自己的數據轉換器。 假設某人決定將用戶的出生年份存儲在數據庫中ГГ.ММ.ДД,例如:98.12.15。您還需要將其轉換為常規日期:15/12/1998。然後你必須編寫自己的轉換器。 為此,您需要實現一個接口AttributeConverter
集合映射
SQL & Hibernate
等級 13,
課堂 0
藏品一覽 好了,您已經了解瞭如何映射簡單類型。現在是時候轉向更有趣的問題了——如何映射對象集合。 我們可以將對象分為 5 組: Array - 對像數組 列表- 對象列表 Set - 一組對象 地圖- 對象字典 集合——對象的集合 以及一個帶有集合字段的類的示例: @Entity
@ManyToOne
SQL & Hibernate
等級 13,
課堂 1
2.1 表級鏈接 我們已經看到 Hibernate 如何在輔助表中存儲集合。現在讓我們弄清楚如何組織存儲真實實體類的完整表之間的關係。 Hibernate中實體類之間的關係有四種: 一對一_ _ 一對多_ _ 多對一_ _ 多對多_ _ 我們將從最簡單的選項開始分析——多對一。 您已經遇到過 SQL 中表之間的這種關係。它通常是這樣的: ID 姓名 職業 薪水 年齡 加入日期 1個 伊万諾夫伊万 程序員 100000 25 2012-06-30 2個 彼得羅夫彼得 程序員 8
@一對多
SQL & Hibernate
等級 13,
課堂 2
表級關係 讓我們再看看我們的兩個表: ID 姓名 職業 薪水 年齡 加入日期 1個 伊万諾夫伊万 程序員 100000 25 2012-06-30 2個 彼得羅夫彼得 程序員 80000 23 2013-08-12 3個 伊万諾夫謝爾蓋 測試儀 40000 三十 2014-01-01 4個 拉比諾維奇·莫伊沙 導演 200000 35 2015-05-12 5個 基連科阿納斯塔西婭 辦公室主管 40000 25 2015-10-10 6個 瓦斯卡 貓 1000 3個 2018
@ManyToMany
SQL & Hibernate
等級 13,
課堂 3
服務台 現在讓我們看看另一個常見的情況——多對多。假設我們在任務和員工之間有一個多對多的關係: 員工表中的一名員工可以執行任務表中的多項任務。 任務表中的一項任務可以分配給多個員工。 實體之間的這種關係稱為多對多。並且為了在 SQL 級別實現它,我們需要一個額外的服務表。讓我們稱之為,例如,employee_task。 employee_task 表將只包含兩列: 員工ID 任務編號 每次我們將特定任務分配給特定用戶時,都會向該表中添加一個新行。例子: 員工ID 任務編號 1
顯示更多
1
...
53
54
55
56
57
...
60
Please enable JavaScript to continue using this application.