That's because the columns certificationID and certificationVID have already been used in CertificationPrimaryKey and only one usage of a column can be insertable/updatable. You have to use the following mapping
@JoinColumns({ @JoinColum(name = "certificationID", insertable = false, updatable = false), @JoinColum(name = "certificationVID", insertable = false, updatable = false) })