Herança em cascata com Annotations

E aí, galerinha, tudo bem?
Tô com um problema para desenvolver a herança com Annotations destas tabelas:

[code]CREATE TABLE PESSOA (
ID BIGINT NOT NULL PRIMARY KEY,
NOME VARCHAR(50) NOT NULL);

CREATE TABLE SEXO (
ID BIGINT NOT NULL PRIMARY KEY,
NOME VARCHAR(10) NOT NULL);

CREATE TABLE FUNCIONARIO (
PESSOA BIGINT NOT NULL PRIMARY KEY,
MATRICULA VARCHAR(10) NOT NULL,
SEXO BIGINT NOT NULL,
FOREIGN KEY (PESSOA) REFERENCES PESSOA(ID),
FOREIGN KEY (SEXO) REFERENCES SEXO(ID));

CREATE TABLE USUARIO (
FUNCIONARIO BIGINT NOT NULL PRIMARY KEY,
APELIDO VARCHAR(20) NOT NULL,
SENHA VARCHAR(15) NOT NULL,
FOREIGN KEY (FUNCIONARIO) REFERENCES FUNCIONARIO(PESSOA));[/code]

Tô fazendo assim, mas me dá erro na consulta. Diz que o campo SEXO na entidade USUARIO não existe.

[code]@Entity
@Table(name=“PESSOA”)
@Inheritance(strategy= InheritanceType.TABLE_PER_CLASS)
@DiscriminatorColumn(discriminatorType= DiscriminatorType.STRING, name=“NOME”)
@SequenceGenerator(initialValue=1, sequenceName=“SEQ_PESSOA”, name=“s”)
public class Pessoa implements Serializable {

@Id
@Column(name="ID")
@GeneratedValue(strategy= GenerationType.SEQUENCE, generator="s")
private long ID;

@Column(name="NOME", length=100, nullable=false)
private String nome;

}

@Entity
@Table(name=“FUNCIONARIO”)
@Inheritance(strategy= InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(discriminatorType= DiscriminatorType.STRING, name=“NOME”)
@DiscriminatorValue(“FUNCIONARIO”)
public class Funcionario extends Pessoa {

@Column(name="CNPJ", length=20, nullable=false)
private String matricula;

@ManyToOne
@JoinColumn(name="SEXO")       
private Sexo sexo;    

}

@Entity
@Table(name=“USUARIO”, schema=“estoque”)
@DiscriminatorValue(“USUARIO”)
public class Usuario extends Funcionario {

@Column(name="APELIDO", length=20, nullable=false)
private String apelido;
@Column(name="SENHA", length=15, nullable=false)
private String senha;

}[/code]

Alguém sabe o que pode ser?
Valeu, galera,
fiquem com Deus! :smiley:

Esse campo Sexo foi mapeado como ??? É um enum ?

Opa, é uma classe também, só esqueci de colocá-la no código.