Em
ProjectLevel2Repository
você tem um mapeamento para ProjectRepository
usando um @JoinColumn
chamado projectlevel1id
que não existe. Pelo que você descreve, isso deve ser mapeado para ProjectLevel1Repository
@ManyToOne
@JoinColumn(name="projectlevel1id", referencedColumnName = "projectlevel1id")
@JsonIgnore
private ProjectLevel1Repository projectlevel1;