在数据库中持久化具有一对多关系的JPA对象时发生异常

在数据库中持久化具有一对多关系的JPA对象时发生异常,jpa,Jpa,hi在图片表a和表b中有两个表,如下所示: @Entity @Table(name = "A") public class A implements Serializable { @Id @SequenceGenerator(name = "JOURNAL_CATEGORY_ID_GENERATOR", allocationSize = 1, sequenceName = "clm_jounal_category_config_seq") @GeneratedValue

hi在图片表a和表b中有两个表,如下所示:

@Entity
@Table(name = "A")
public class A implements Serializable {

    @Id
    @SequenceGenerator(name = "JOURNAL_CATEGORY_ID_GENERATOR", allocationSize = 1, sequenceName = "clm_jounal_category_config_seq")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "JOURNAL_CATEGORY_ID_GENERATOR")
    @Column(name = "CLAIM_ID")
    private String claimId;

    @Column(name = "name")
    private String name;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "country")
    private List<ClaimDTLS> claimDetails;
}

B Primary Key:

@Embeddable
public class BPK implements Serializable {

    @Column(name = "code")
    private String code;

    @Column(name = "CLAIM_ID")
    private String claimId;
}

B Entity:

@Entity
@Table(name = "B")
public class B  implements Serializable {

    @EmbeddedId
    protected BPK bpk;


    @Column(name = "name")
    private String name;

    @MapsId("country_code")
    @JoinColumn(name = "claimId", referencedColumnName = "claimId", insertable = false, updatable = false)
    @ManyToOne
    private A a;
}

序列值是数字,当JPA将它们用作生成器时,它调用实体PK的setter方法。现在,您在使用序列时将PK定义为字符串,因此找不到匹配的setter。将你的PK类型改为长PK,事情就会顺利进行

any help will be welcomed.
thanks in advance