一尘不染

SQL JPA-多列为主键

spring-boot

如果我想让严重列组成一个ID。

SQL范例:

CONSTRAINT [PK_NAME] PRIMARY KEY ([Column1],[Column2],[Column3])

如何使用Jpa Entity类来做到这一点?通过columndefinition?

只需将id字段设置为:

value = Column1 + Column2 + Column3 // aint working.

阅读 248

收藏
2020-05-30

共1个答案

一尘不染

您需要为复合键提供一个类:

public class CompositeKey implements Serializable {
    private int column1;
    private int column2;
    private int column3;
}

然后在您的实体类中使用@IdClass注释:

@Entity
@IdClass(CompositeKey.class)
public class EntityExample {
    @Id
    private int column1;
    @Id
    private int column2;
    @Id
    private int column3;
    ...
    ...
}

我认为这应该有效。希望能有所帮助,加油!

是的,还有另一种解决方案,@jklee提到的解决方案都可行,这是优先考虑的问题。

2020-05-30