如何创建与复合 Id 相关的 PK class
How to create a PK class which has a relation to a composite Id
我将实体 A 的 ID 更改为复合 ID。实体 B 也有一个 PK class 关系的一侧是实体 A。我应该如何更改我的 PK class 代码?我应该使用 IdClass 而不是 Id?
public class BPK implements Serializable{
// I need to change this single Id to a composite Id to include 2 columns from Entity A instead of only one id attribute
@Id
@Column(name = "aid")
private Integer a;
@Id
@Column(name = "bid")
private Integer b;
}
Class一场PK
public class APK implements Serializable{
@Id
@Column(name = "id")
private Integer id;
@Id
@Column(name = "project_mode")
private Integer project;
}
public class BPK implements Serializable{
private APK a;
private Integer b;
}
JPA 中的主键 类 不需要注释,因为它们已经直接映射到实体中。派生 ID 是规范允许在主键中嵌套的一个地方,因为嵌套 类 总是向下钻取到基本类型(相对于实体)。
我将实体 A 的 ID 更改为复合 ID。实体 B 也有一个 PK class 关系的一侧是实体 A。我应该如何更改我的 PK class 代码?我应该使用 IdClass 而不是 Id?
public class BPK implements Serializable{
// I need to change this single Id to a composite Id to include 2 columns from Entity A instead of only one id attribute
@Id
@Column(name = "aid")
private Integer a;
@Id
@Column(name = "bid")
private Integer b;
}
Class一场PK
public class APK implements Serializable{
@Id
@Column(name = "id")
private Integer id;
@Id
@Column(name = "project_mode")
private Integer project;
}
public class BPK implements Serializable{
private APK a;
private Integer b;
}
JPA 中的主键 类 不需要注释,因为它们已经直接映射到实体中。派生 ID 是规范允许在主键中嵌套的一个地方,因为嵌套 类 总是向下钻取到基本类型(相对于实体)。