Mapeamento relacionamento + chave composta

Caros:

Estou com um problema aqui e não estou conseguindo resolver, preciso de uma ajuda. Tenho um relacionamento de duas tabelas, Professor e RefHorTur. Em Professor, estarão os dados do Professor. Em RefHorTur os dados da(s) turma(s) que o professor ministra aulas.

Minha classe RefHorTur precisa de uma chave composta, e está mapeada assim, no PrimaryKey:

@Embeddable
public class RefHorTurPK implements Serializable {

    @Column(name = "Area", nullable = false)
    private String area;

    @Column(name = "Professor", nullable = false)
    private String professor;

    //getters & setters
}

e assim, na classe entidade:

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

    @EmbeddedId
    private RefHorTurPK areaProfessorPK;

    @Column(name = "Turma", nullable = false)
    private String turma;

    public RefHorTur() {

    }

    public RefHorTurPK getAreaProfessorPK() {
        return areaProfessorPK;
    }

    public void setAreaProfessorPK(RefHorTurPK areaProfessorPK) {
        this.areaProfessorPK = areaProfessorPK;
    }

    public String getTurma() {
        return turma;
    }

    public void setTurma(String turma) {
        this.turma = turma;
    }
    //getters & setters

}

Até aqui, não aparece nenhum problema. O problema maior está no momento do relacionamento com a classe Professor. Já tentei de todas as formas, e ele sempre retorna objeto nulo no objeto Professor:

public class Professor implements Serializable {
    @Id
    @Column(name = "Codigo", nullable = false)
    private String codigo;
    @Column(name = "Nome", nullable = false)
    private String nome;
  
    @OneToMany()
    @JoinColumns({
        @JoinColumn(name="rht_area", referencedColumnName="area"),
        @JoinColumn(name="rht_professor", referencedColumnName="professor")
    })
    private List<RefHorTur> refHorTurs = new ArrayList<RefHorTur>();

    //getters & setters
}

Se eu coloco essas linhas do relacionamento @OneToMany, recebo o objeto professor Nulo.

O que eu preciso é que a classe Professor me relacione todos os RefHorTur em que o professor apareça. Não preciso nem que a classe RefHorTur veja o Professor (se for possível fazer isso, seria uma funcionalidade a mais…)

Como construir esse relacionamento, usando essa chave composta?