Dúvida com JPA / HIBERNATE

Bom, tenho uma classe BeanPai, Venda e ItemVenda.

A classe BeanPai tem 1 propriedade PROTECTED chamada “superior” e não possui nenhuma notação JPA.
A classe Venda tem as propriedades: cod, data e itens (que é um Set de ItemVenda), esta tem notação JPA.
A classe ItemVenda tem: cod, produto, qtd e venda (que é do tipo Venda) esta tem notação JPA e estende (extends) da classe BeanPai (que não tem notação JPA).

Meu problema:

A classe Venda tem o atributo "itens" que é um @OneToMany, e quando faço "mappedBy = superior" ele diz que o atributo "superior" não existe na classe ItemVenda. De fato, entendo que este atributo seja da classe pai BeanPai, porém qual seria a outra forma conveniente de referenciar este atributo tem mudar 1 linha na classe BeanPai ?

Pesquise por @MappedSuperclass.
E não é notação é ANOTAÇÃO.

Primeiramente, obrigado pela correção do “notação”. Outra coisa é que o @MappedSuperclass deve ser posto na classe Pai, no meu caso : BeanPai, e como disse não posso alterar esta classe pois não tenho o .Java dela

Então você não pode referenciar um atributo que existe nela como sendo o responsável pelo mapeamento, afinal, o mapeamento não está nele, não é?

Bom, como não tenho acesso ao atributo “superior” da classe BeanPai, estou mapeando pelo método getSuperior (fazendo um override), veja:

@ManyToOne(fetch=FetchType.LAZY, targetEntity=Venda.class)
	@JoinColumn(name="id_venda")
	public BeanPai getSuperior(){
		return super.getSuperior();
	}