Problemas com o mapeamento na persistencia

@Entity
@Table(name = "TABELA1", schema = "MEU_SQUEMA")
@SuppressWarnings("serial")
public class CalsseTabela1 implements Serializable {

        @ManyToOne(targetEntity = Funcionario.class, optional = false, cascade = CascadeType.REFRESH)	
	@JoinColumn(name = "CD_FUNC_REGISTRO", nullable = false)
	private Funcionario funcRegistro;

	// Por padrão no ManyToOne optional é true e FetchType é EAGER
	@ManyToOne(targetEntity = Funcionario.class, cascade = CascadeType.REFRESH)
	@JoinColumn(name = "CD_FUNC_SOLICITANTE", nullable = true)
	private Funcionario funcSolicitante;

        // Getters e Setters
}

// Classe Funcionario 

@SuppressWarnings("serial")
@Entity
@Table(name = "FUNCIONARIO", schema = "MEU_SQUEMA")
public class Funcionario implements Serializable {

	@Id
	@Column(name = "CD_FUNCIONARIO", length = 4, nullable = false)
	private String codigo;
	
	@Column(name = "NM_FUNCIONARIO", length = 40, nullable = false)
	private String nome;

        // Getters e Setters
        
}

Pessoal estou com um problema nesta classe, esta me retornando null na consulta, alguém sabe me dizer o que poderia ser, deve ser algum erro no mapemanto.
Consultei e me falaram que o ManyToOne faz o JoinColum automatico, mas ai estou com um problema, por que tenho de fazer referencia a mesma tabela duas vezes em uma unica tabela, e sem fazer um JoinColum e o ManyToOne juntos eu não vejo outra forma.
Se alguém já fez algo deste tipo me de um toque. Agradeço!!!
Só para informa que o que está me retornando null é o meu objeto Funcionario.
Valeu!!!

você tem dois esquemas mesmo?

MEUSQUEMA

MEU_SQUEMA

Não, na verdade na hora de passar para o codigo eu renomeie e acabei renomeando errado.
Vo corrigir, só tem um squema.