欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot JPA 建立联合主键

程序员文章站 2022-03-02 15:37:49
...

需要新建一个类,放着建立联合主键的主键,需要实现Serializable接口,及无参数构造函数:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class CoKey implements Serializable {
    private String CA;
    private String CB;
}

通过@IdClass注解利用新建的外部类建立联合主键:

@Entity
@Data
@IdClass(value = CoKey.class)
public class ATest {
    private Long id;

    @Id
    private String CA;

    @Id
    private String CB;

    private String qt1;
    private String qt2;
}

对应的Repository的泛型添加外部类

public interface ATestRepository extends JpaRepository<ATest,CoKey> {
}

使用:

@GetMapping("/test9")
    public void test9() {
        System.out.println(aTestRepository.findById(new CoKey("2","2")));;
    }