大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Hibernate注解配置

Hibernate注解配置

更新時間:2022-11-21 09:22:46 來源:動力節點 瀏覽862次

Hibernate 注釋的環境設置

首先,您必須確保您使用的是 JDK 5.0,否則您需要將 JDK 升級到 JDK 5.0 才能利用對注釋的本機支持。

其次,您需要安裝 Hibernate 3.x 注釋分發包,可從 sourceforge 獲得:(下載 Hibernate Annotation)并復制hibernate-annotations.jar、lib/hibernate-comons-annotations.jar和lib/ejb3-persistence。 jar從 Hibernate Annotations 分發到你的 CLASSPATH。

注釋類示例

正如我在上面使用 Hibernate Annotation 時提到的,所有元數據都與代碼一起合并到 POJO java 文件中,這有助于用戶在開發過程中同時理解表結構和 POJO。

考慮我們將使用以下 EMPLOYEE 表來存儲我們的對象

create table EMPLOYEE (
   id INT NOT NULL auto_increment,
   first_name VARCHAR(20) default NULL,
   last_name  VARCHAR(20) default NULL,
   salary     INT  default NULL,
   PRIMARY KEY (id)
);

以下是帶有注釋的 Employee 類的映射,以將對象映射到已定義的 EMPLOYEE 表 -

import javax.persistence.*;
@Entity
@Table(name = "EMPLOYEE")
public class Employee {
   @Id @GeneratedValue
   @Column(name = "id")
   private int id;
   @Column(name = "first_name")
   private String firstName;
   @Column(name = "last_name")
   private String lastName;
   @Column(name = "salary")
   private int salary;  
   public Employee() {}   
   public int getId() {
      return id;
   }   
   public void setId( int id ) {
      this.id = id;
   }   
   public String getFirstName() {
      return firstName;
   }   
   public void setFirstName( String first_name ) {
      this.firstName = first_name;
   }   
   public String getLastName() {
      return lastName;
   }   
   public void setLastName( String last_name ) {
      this.lastName = last_name;
   }   
   public int getSalary() {
      return salary;
   }   
   public void setSalary( int salary ) {
      this.salary = salary;
   }
}

Hibernate 檢測到 @Id 注釋在字段上,并假定它應該在運行時直接通過字段訪問對象的屬性。如果將 @Id 注釋放在 getId() 方法上,則默認情況下可以通過 getter 和 setter 方法訪問屬性。因此,所有其他注釋也按照選定的策略放置在字段或 getter 方法上。

以下部分將解釋上述類中使用的注釋。

@Entity注解

EJB 3 標準注解包含在javax.persistence包中,所以我們導入這個包作為第一步。其次,我們對 Employee 類使用了@Entity注解,它將這個類標記為一個實體 bean,因此它必須有一個至少在受保護范圍內可見的無參數構造函數。

@Table 注解

@Table 注釋允許您指定將用于將實體保存在數據庫中的表的詳細信息。

@Table 注釋提供了四個屬性,允許您覆蓋表的名稱、它的目錄和它的模式,并對表中的列強制執行唯一約束。現在,我們只使用表名,即 EMPLOYEE。

@Id 和@GeneratedValue 注解

每個實體 bean 都有一個主鍵,您可以使用@Id注釋在類上對其進行注釋。主鍵可以是單個字段或多個字段的組合,具體取決于您的表結構。

默認情況下,@Id 注釋將自動確定要使用的最合適的主鍵生成策略,但您可以通過應用@GeneratedValue注釋來覆蓋它,它采用我不打算在這里討論的兩個參數策略和生成器,所以讓我們只使用默認的密鑰生成策略。讓 Hibernate 確定要使用的生成器類型使您的代碼可以在不同數據庫之間移植。

@Column 注解

@Column 注釋用于指定字段或屬性將映射到的列的詳細信息。您可以使用具有以下最常用屬性的列注釋 -

name屬性允許顯式指定列的名稱。

length屬性允許用于映射值的列的大小,特別是對于 String 值。

nullable屬性允許在生成模式時將列標記為 NOT NULL。

unique屬性允許將列標記為僅包含唯一值。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 天天干天天天天 | 91福利国产在线观看一区二区 | 国产亚洲精品久久午夜 | 国产91在线chines看 | 成人国内精品久久久久影院 | 久久99久久精品国产99热 | a在线视频免费观看 | 亚洲va在线va天堂va手机 | 久热爱免费精品视频在线播放 | 久草在线最新 | 亚洲久久在线观看 | 国内视频精品 | 国产97在线视频观看 | 在线观看免费av网站 | 国产精品在线播放 | 久久精品国产精品2020 | 精品视频午夜一区二区 | 99热这里只有精品在线播放 | 久久天天躁狠狠躁夜夜躁 | 国产大尺度福利视频在线观看 | 色老头xxxxbbbb视频 | 久草精品视频在线播放 | 狠狠色狠狠干 | 久久精品成人一区二区三区 | 91国视频在线观看 | 亚洲美女视频网站 | 亚洲在线激情 | 日日拍夜夜嗷嗷叫视频 | 全黄一级裸片视频免费 | 91尤物国产尤物福利 | 99久久精品国产一区二区成人 | 国产免费久久精品99 | 久久国产免费观看精品3 | 就操成人网 | 中文字幕亚洲日韩无线码 | 97精品国产91久久久久久 | 全部免费特黄特色大片视频 | 91免费精品国自产拍在线不卡 | 国产伦理久久精品久久久久 | 第一福利在线观看永久视频 | 在线精品国产一区二区 |