Tag: 复合主键

使用@IdClass和*嵌套*复合主键限制JPA 1.0?

给出以下示例(部门 – 项目): 部门具有以下属性(复合主键): @Entity @IdClass(DeptId.class) public class Department { @Id @Column(name=”number”) private Integer number; @Id @Column(name=”country”) private String country; @Column(name=”name”) private String name; @OneToMany(mappedBy=”dept”) private Collection projects; … } 这里的PK类: public class DeptId implements Serializable { private Integer number; private String country; … } 项目和部门之间的关系是多对一的,那就是一个可以有很多项目的deptartment。 Project类本身使用复合键引用Department的复合键。 重要提示:它仅与@IdClass的实现有关,而不是@EmbeddedId。 然后(有问题的)JPA 1.0 @IdClass实现必须看起来像那样(冗余的deptNum和deptCtry属性): – >它只是一个部门内的唯一名称 @Entity @IdClass(ProjectId.class) […]