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

Hibernate 註解教程(六):復合主鍵實現

     編輯:Java 相關知識

復合主鍵定義步驟

1. 主鍵類

使用 @Embeddable 標註,實現 Serializable,覆寫 equals() 和 hashCode()。

@Embeddable
public class F {
    private int id;
    private int id2;
    // getter/setter
}

2. 持久化類

使用 @IdClass(F.class) 指定主鍵類,各主鍵字段標註 @Id,字段名需與主鍵類一致。

@Entity
@Table(name="E_USER", uniqueConstraints={@UniqueConstraint(columnNames={"yahoo"})})
@IdClass(F.class)
public class User {
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id2;
    private String yahoo;
    // getter/setter
}

3. 生成 SQL (MySQL)

create table E_USER (
    id integer not null,
    id2 integer not null,
    yahoo varchar(255),
    primary key (id, id2),
    unique (yahoo)
)

注意事項

  • 主鍵類必須可序列化
  • 持久化類主鍵字段名、類型需與主鍵類完全一致
  • 可配合 @Table 定義唯一約束
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved