首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MyEclipse Hibernate 反向工程自動生成實體與映射文件

     編輯:MySQL 資料庫相關知識

前置條件

  • MyEclipse 2015/2016/2017 (內置 Hibernate Tools)
  • 已配置數據庫連接驅動 (MySQL/Oracle/PostgreSQL 等)
  • 目標表必須有主鍵,否則生成復合主鍵類

操作步驟

1. 打開 DB Browser 建立連接

  • 菜單:Window → Show View → DB Browser
  • 右鍵「Database Connections」→ New → 選擇驅動 → 輸入連接信息測試通過

2. 選擇表啟動反向工程

  • 展開連接 → Tables → 選中目標表 (可多選)
  • 右鍵 → Hibernate Reverse Engineering

3. 配置生成選項 (關鍵界面)

反向工程配置

4. 類型映射與 ID 生成器

類型映射

  • Type Mapping:Java Types (推薦) / Hibernate Types — 統一用 Java 類型
  • ID Generator:assigned (手動分配) / identity (數據庫自增) / sequence / native — 根據表主鍵策略選擇

5. 完成生成

點擊 Finish,控制台輸出生成日志,刷新項目可見:

  • com.entity.User.java — 實體類 (含字段、Getter/Setter、toString 等)
  • com.entity.User.hbm.xml — 映射文件 (類表映射、ID策略、字段映射)

常見問題與解決

選項建議值說明
Java src folder項目 src 目錄如 src/main/java
Java packagecom.entity實體類包路徑
Create POJO-DB table mapping☑ 勾選生成 .hbm.xml 映射文件
Create a hibernate mapping file☑ 勾選同上,XML 映射模式
Java Data Object (POJO)☑ 勾選生成實體類 .java
Create abstract class☐ 不勾選生成抽象類,通常不需要
Java Data Access Object (DAO)☐ 可選生成 DAO 層代碼,企業級開發建議勾選

最佳實踐建議

  • 表必須有主鍵:物理主鍵 (自增 ID) + 邏輯唯一鍵 (業務鍵)
  • 命名規範:表名單數蛇形 user_order,實體類駝峰 UserOrder
  • 版本控制:生成代碼納入 Git,手動微調後鎖定,避免重複生成覆蓋
  • 注解替代 XML:新項目建議使用 JPA @Entity + @Table 注解,減少 XML 維護

總結

MyEclipse Hibernate 反向工程一鍵生成實體類與映射文件,核心前提是表有主鍵。配置關鍵點:包路徑、映射文件勾選、ID 生成器策略、類型映射。生成後建議人工審查調整,納入版本控制。現代項目推薦遷移至 JPA 注解開發模式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
問題原因解決
生成 User.java 和 UserId.java表無主鍵給表添加主鍵,重新生成
映射文件含 <composite-id>無主鍵視為聯合主鍵同上,必須有單列主鍵
字段類型映射錯誤JDBC 驅動版本/類型映射手動調整 .hbm.xml 或配置 Type Mapping
生成代碼不符合規範模板默認自定義 Freemarker 模板 (Window → Preferences → Hibernate → Code Generation)