In ProjectLevel2Repository hai una mappatura verso ProjectRepository utilizzando un @JoinColumn denominato projectlevel1id che non esiste. Da quello che descrivi, questo dovrebbe essere mappato su ProjectLevel1Repository
@ManyToOne
@JoinColumn(name="projectlevel1id", referencedColumnName = "projectlevel1id")
@JsonIgnore
private ProjectLevel1Repository projectlevel1;