IntelliJ IDEA 的項目結構與 Eclipse 截然不同:Project 對應 Eclipse Workspace,Module 對應 Eclipse Project。本文基於 IDEA 15,詳述創建 Hibernate Module、依賴管理、配置文件自定義、實體/映射文件雙向生成全流程,並附帶多框架混合配置技巧。
Settings → Plugins → Browse Repositories → 搜索「Hibernate」安裝並重啟 IDEA。插件提供持久化視圖、HQL 控制台、實體生成向導等核心功能。
HibernateDemo) → Finishsrc/main/resources 下自動創建 hibernate.cfg.xml 與測試類<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.12.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
</dependencies>
org.hibernate:hibernate-core:5.2.12.Final → 選中 → OK<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"https://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url"/>
<property name="connection.driver_class"/>
<property name="connection.username"/>
<property name="connection.password"/>
<!-- <property name="hbm2ddl.auto">update</property> -->
</session-factory>
</hibernate-configuration>
新建 Hibernate Configuration File 模板,預填數據源、方言、顯示 SQL 等常用屬性:
<property name="connection.url">jdbc:mysql://localhost:3306/your_db</property> <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property> <property name="connection.username">root</property> <property name="connection.password">your_password</property> <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">update</property>
hibernate.cfg.xml 數據庫連接信息(見上文模板)@Entity、@Table 等註解(現代項目首選)無 JPA 註解模式:純 POJO + NewsEntity.hbm.xml
勾選 JPA 註解模式:帶 @Entity、@Id、@Column 的實體類,可選擇不生成 .hbm.xml
右鍵 Module → Add Framework Support → 勾選 Spring → 自動生成 applicationContext.xml 並整合數據源、事務管理器配置。建議採用 Spring 管理 SessionFactory,而非 Hibernate 原生配置。
| 問題 | 原因 | 解決方案 |
|---|---|---|
| 生成實體時提示 "No tables found" | 數據源連接失敗或 Schema 名稱錯誤 | 檢查 hibernate.cfg.xml 的 connection.url、default_schema;Persistence 視圖重新連接數據源 |
| 生成類缺少 Lombok 註解 | 模板不支持 | 生成後手動添加 @Data/@Builder,或修改文件模板引入 Lombok |
| 雙向關聯生成錯誤 | 外鍵關係複雜 | 先生成單表實體,再手動補全 @OneToMany/@ManyToOne 關係 |
IDEA 的 Hibernate 支持以「數據庫為中心」的反向工程為核心,配合 Persistence 視圖實現表→實體/映射文件的一鍵生成。掌握模板定制、JPA 註解選擇、多框架整合技巧,能讓持久層開發效率提升 50% 以上。建議新項目優先採用 Spring Boot + JPA/Hibernate 現代化棧,僅在維護舊項目時使用本文傳統配置模式。