Java 持久化 API 中的复合主键与关系映射
1. 生成复合主键
在数据库操作中,有时会遇到数据库表没有单一主键来唯一标识每一行的情况,特别是在处理遗留数据库时。而 Java 持久化 API(JPA)要求所有实体类都必须有一个主键来唯一标识对象。这时,可以使用复合主键来解决这个问题。复合主键由实体类中的两个或多个字段或属性组合而成,形成一个唯一标识符。
1.1 可嵌入复合主键
可嵌入复合主键的实现步骤如下:
1. 创建一个可嵌入的主键类,该类包含用于组成主键的字段,并使用 @Embeddable 注解。
2. 在实体类中使用 @EmbeddedId 注解声明该可嵌入主键类的实例作为主键。
以下是一个示例:
package org.javaee8recipes.chapter08.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import org.javaee8recipes.chapter08.entity.key.AuthorWorkPKEmbedded;
import org.javaee8recipes.chapter08.entity.key.AuthorWorkPKNonEmbedded;
@Enti
超级会员免费看
订阅专栏 解锁全文

463

被折叠的 条评论
为什么被折叠?



