AI Academy
促銷
CodeGym University
學習
課程
任務
問卷 & 測驗
遊戲
說明
行程
社群
用戶
論壇
聊天
文章
成功故事
動態
評價
訂閱
淺色主題
課程
評論
關於我們
開始
開始學習
立即開始學習
My Progress
Courses
任務地圖
課程
Java
SQL & Hibernate
等級 12
映射原始數據類型
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
Please enable JavaScript to continue using this application.