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

第一個成功的 Hibernate 實例(一):資料庫設計與主鍵策略調整

     編輯:Java 相關知識

原始資料庫腳本(含 IDENTITY)

CREATE TABLE Houses (
  HID int IDENTITY(1,1) PRIMARY KEY,
  alias varchar(20),
  description varchar(100),
  capity int NOT NULL
);
-- 其他表同樣使用 IDENTITY(1,1)

修正後資料庫腳本(移除 IDENTITY)

CREATE TABLE Houses (
  HID INT PRIMARY KEY,
  alias VARCHAR(20),
  description VARCHAR(100),
  capity INT NOT NULL
);
CREATE TABLE Menus (
  MID INT PRIMARY KEY,
  mName VARCHAR(20) NOT NULL,
  price FLOAT NOT NULL
);
CREATE TABLE Tables (
  TID INT PRIMARY KEY,
  tAlias VARCHAR(20)
);
CREATE TABLE Customers (
  CID VARCHAR(20) PRIMARY KEY,
  cName VARCHAR(20),
  cAddress VARCHAR(40),
  cPhone VARCHAR(20)
);
CREATE TABLE Staffs (
  SID VARCHAR(6) PRIMARY KEY,
  username VARCHAR(20) NOT NULL,
  password VARCHAR(20) NOT NULL,
  sName VARCHAR(20) NOT NULL,
  address VARCHAR(40),
  phone VARCHAR(20),
  sPosition VARCHAR(20)
);
CREATE TABLE Notice (
  NID INT PRIMARY KEY,
  title VARCHAR(20) NOT NULL,
  content VARCHAR(200)
);

設計原則說明

  • 去除資料庫自增:所有主鍵不再使用 IDENTITY(1,1)。
  • 交由 Hibernate 控制:映射文件中配置 <generator class="increment"> 或 assigned、sequence 等多種策略,實現跨資料庫可移植性。
  • 主鍵類型多樣化:支援 Integer、Long、String(如 CID、SID)等業務主鍵。

後續步驟

在 Eclipse/MyEclipse 中對上述表結構執行反向工程,即可生成對應的 POJO 與 .hbm.xml,詳見「第一個成功的 Hibernate 實例(二)」。

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