JPA 的联合主键

JPA中注解有两种方式定义“联合主键”,分别为:Primary-Key Classes和Composite Keys。

它们相对应的注解别为:@IdClass和@EmbeddedId。

下面以例子说明
1) 表中的字段有: id, name, age
2)“联合主键”有: id和name。

——  ——  ——Primary-Key Classes方式

1. 先定义一个primary-key class,这个class的要求有:
1)serializable, 2)有无参构造函数, 3)实现方法equals( )和hashCode( ) 

比如:


JPA 的联合主键_第1张图片

2)在entity中标明主键

JPA 的联合主键_第2张图片

各个字段的设置在这里设置,且关联主键的两个字段上要加@Id注解


——  ——  ——  Composite Keys方式

1) 定义Composite keys类

JPA 的联合主键_第3张图片


2)定义实体类

JPA 的联合主键_第4张图片


这样两种都可以创建联合主键。

你可能感兴趣的:(jap)