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

Hibernate 5.2 最小依賴 JAR 清單:required 目錄全包 + MySQL 驅動

     編輯:Java 綜合教學

Hibernate 5.2 最小依賴 JAR 清單:required 目錄全包 + MySQL 驅動

Hibernate 5.2 官方發布包結構清晰,required 目錄包含核心運行所需的所有 JAR。本文確認最小依賴組合,避免遺漏或多餘引入。

最小依賴組合

Hibernate 5.2 最小依賴 = 
  { lib/required 目錄下所有 JAR } 
  + { mysql-connector-java-bin.jar (或對應資料庫驅動) }

required 目錄典型內容(Hibernate 5.2.x)

注意:具體檔名隨小版本變動,請以官方發布包 lib/required 實際內容為準。

資料庫驅動(必須額外加入)

JAR 類別代表檔名用途
核心框架hibernate-core-5.2.x.Final.jarORM 核心功能
位元組碼操作javassist-3.x.GA.jar動態代理、實體增強
字節碼庫byte-buddy-1.x.jar現代字節碼操作(5.2 新增)
反射工具antlr-2.7.7.jarHQL/JPQL 解析
集合工具hibernate-commons-annotations-5.0.x.Final.jar註解處理
規範 APIjboss-transaction-api_1.2_spec-1.0.x.Final.jarJTA 事務規範
日誌門面jboss-logging-3.3.x.Final.jar統一日誌介面
資源管理javax.persistence-api-1.0.x.jar / jakarta.persistence-api-2.2.x.jarJPA 規範 API
驗證框架validation-api-1.1.x.Final.jar / 2.0.x.Final.jarBean Validation
類別掃描classmate-1.3.x.jar類別/註解掃描
國際化hibernate-jpa-2.1-api-1.0.x.Final.jarJPA 2.1 API
資料庫驅動 JARMaven 坐標
MySQLmysql-connector-java-5.1.x.jar / 8.0.x.jarmysql:mysql-connector-java
PostgreSQLpostgresql-42.x.jarorg.postgresql:postgresql
Oracleojdbc8.jarcom.oracle.jdbc:ojdbc8
SQL Servermssql-jdbc-7.x.jre8.jarcom.microsoft.sqlserver:mssql-jdbc

可選依賴目錄說明

目錄用途是否必要
required核心運行依賴是
jpaJPA 專用依賴使用 JPA 時是
envers實體審計/版本控制啟用 Envers 時是
c3p0C3P0 連接池整合使用 C3P0 時是
proxoolProxool 連接池整合使用 Proxool 時是
ehcacheEhCache 二級快取整合使用 EhCache 時是
infinispanInfinispan 二級快取整合使用 Infinispan 時是
optional其他可選整合按需引入

Maven 依賴最佳實踐

<dependencies>
    <!-- 核心:遞移自動引入 required 所有依賴 -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.18.Final</version>
    </dependency>
    
    <!-- 資料庫驅動(必須額外宣告) -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>
    
    <!-- 連接池(生產環境必備,推薦 HikariCP) -->
    <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>4.0.3</version>
    </dependency>
</dependencies>

常見遺漏導致的啟動錯誤

  • NoClassDefFoundError: org/javassist/ClassPool → 缺少 javassist(required 已含,檢查版本衝突)
  • NoClassDefFoundError: net/bytebuddy/ByteBuddy → 缺少 byte-buddy(Hibernate 5.2+ 必須)
  • Unable to load class [com.mysql.jdbc.Driver] → 缺少 MySQL 驅動
  • NoClassDefFoundError: javax/validation/Validation → 缺少 validation-api

總結

Hibernate 5.2 依賴管理原則:信任 required 目錄全量引入,補上資料庫驅動,按功能從 optional 目錄按需添加。Maven 專案直接依賴 hibernate-core 即可自動解析 required 遞移依賴,僅需額外宣告驅動與連接池。版本升級時關注 byte-buddy、jakarta.persistence 等新增依賴的版本相容性。

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