有没有办法在Java中用JPA声明一个由两个字段组成的主键?
示例:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Id
private String identity;
主键是(id,身份)。
最佳答案
是的,您可以使用@IdClass
注释指定一个类,该类将被称为组合键。
例如:
@Table('myTable')
@IdClass(ComposedKey.class)
public class myEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Id
private String identity;
private String otherFields;
}
public class ComposedKey implements Serializable {
private long id;
private String identity;
//Getter / Setter
}
然后,您的 key 将是一个 ComlatedKey
。
关于java - Java中用JPA组成的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44670437/