отсоединенный объект передан для сохранения: не позволяет мне сохранить объект - PullRequest
0 голосов
/ 21 декабря 2018
public class Certification implements Serializable {

private static final long serialVersionUID = 6045812180225694344L;

@Id
@GeneratedValue(generator = "uuid")
@Column(name = "certification_id", updatable = false, nullable = false)
private String id;

@OneToMany(cascade = CascadeType.ALL, mappedBy="certification", fetch = FetchType.EAGER, orphanRemoval = true)
private List<CertificationPrerequisite> prerequisites;

}

public class CertificationPrerequisite implements Serializable {
private static final long serialVersionUID = 6045812180225694344L;

@Id
@GeneratedValue(generator = "uuid")   
@Column(name = "id", updatable = false)
private String id;

@ManyToOne(optional = false, targetEntity = Certification.class, fetch = FetchType.EAGER)
@JoinColumn(name="certification_id", referencedColumnName = "certification_id")
private Certification certification;

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

}

Когда я сохраняю этот объект сертификации, включая CertificationPrerequisite, объект сертификации внутри Id становится нулевым, что, как я подозреваю, не позволяет сохранить объект.Есть ли способ сделать это лучше?

public interface CertificationRepository extends JpaRepository<Certification, String>, JpaSpecificationExecutor<Certification> {

}

Certification certification  =  new Certification();
CertificationPrerequisite certificationPrerequisite = new 
CertificationPrerequisite();
certificationPrerequisite.setCertification(certification);
certification.setCertificationPrerequisite(certificationPrerequisite);
CertificationRepository.save(certification);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...