首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Hibernate 進階(四):基本映射(Basic Mapping)從入門到實戰

     編輯:Java 相關知識

什麼是 ORM 映射?

對象關系映射(ORM)核心目標:將對象數據自動持久化到數據庫,並能從數據庫讀取數據填充對象。開發者只需操作對象,無需手寫 SQL,實現真正的面向對象開發。

基本映射概念

單表 ↔ 單個實體類的簡單映射,是最基礎、最常用的映射形式。拋開框架,許多項目也會手工按表結構寫實體類,Hibernate 將此標準化、自動化。

實戰示例

1. 數據表結構

用戶表結構

2. 實體類

public class User {
    private String id;
    private String name;
    // getter/setter 省略
}

3. XML 映射文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "https://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.zs.hibernate">
    <class name="User1" table="t_user1">
        <id name="id" column="user_id" length="32" access="field">
            <generator class="uuid"/>
        </id>
        <property name="name" length="30" unique="true" not-null="true"/>
    </class>
</hibernate-mapping>

關鍵屬性解析:
• access="field":直接訪問字段,繞過 getter/setter
• generator class="uuid":UUID 主鍵生成策略
• unique="true" not-null="true":數據庫級約束

4. 註解配置

@Entity
@Table(name="t_user")
public class User {
    @Id
    private String id;

    @GeneratedValue
    private String name;
    // getter/setter
}

注意:示例中 @GeneratedValue 錯誤標註在 name 字段,正確應在 id 字段。實際開發請參考 JPA 規範正確配置。

映射細節學習建議

映射配置涉及大量細節(如 @Entity、@Table、@Column、@Temporal、@Enumerated 等),建議:

  1. 閱讀《Java Persistence with Hibernate》或官方文檔
  2. 關注主鍵生成策略、字段映射、類型轉換、關聯映射四大核心
  3. 實際項目中優先使用註解,XML 僅用於複雜覆蓋場景

下一步

基本映射奠定了基礎,下一章將進入關系映射,講解一對一、一對多、多對多等複雜關聯場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved