ManyToOne & Herança

Ola pessoal!!!

Estou com uma dúvida na utilização do Hibernate, é o seguinte :

Tenho 2 classes : Campo e FixoEmpresa, onde FixoEmpresa herda Campo

A classe campo esta da seguinte forma :

@Inheritance(strategy=InheritanceType.JOINED)
@Entity
public abstract class Campo{
	
	@Id @GeneratedValue 
	protected Integer id;
	private String nome;
	
	@Column(unique=true)
	private String abreviacao;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getAbriviacao() {
		return abreviacao;
	}
	public void setAbriviacao(String abreviacao) {
		this.abreviacao = abreviacao;
	}
}

E a classe FixoEmpresa esta assim :

@Entity
@PrimaryKeyJoinColumn(name="campo_id")
public class FixoEmpresa extends Campo {
	
	private Integer empresa;
	private Double valor;

	public Double getValor() {
		return valor;
	}

	public void setValor(double valor) {
		this.valor = valor;
	} 

	public Integer getEmpresa() {
		return empresa;
	}

	public void setEmpresa(Integer empresa) {
		this.empresa = empresa;
	}
}

Quando eu instanio um objeto FixoFuncionario e salvo tudo ocorre corretamente, ele cria duas tabelas salvando o id, nome e a abreviacao em uma tabela e o id_campo, empresa e valor na outra tabela, porem quando vou salvar outro objeto com a mesma abreviacao mas com outra empresa e outro valor ele da erro!
E se eu tiro o UNIQUE ele gera um novo registro nas duas tabelas, mas eu gostaria que gerasse apenas um novo registro na tabela onde salva o id_campo, empresa e valor…
Acredito que tenha que usar o @ManyToOne mas nao estou conseguindo utilizar, alguem poderia me dar um help.

Desde já agradeço qualquer ajuda!

Eu acredito que dessa forma nao vai funcionar mesmo ! se voce esta usando herança, voce nao vai conseguir faze que 2 filhos referencie o mesmo pai.

pra isso voce tera que faze um ManyToOne mesmo em FixoEmpresa; e quando salvar passar o Campo para o atrubuto que referencia ele em FixoEmpresa;

o que em especifico voce nao consegue fazer, mapear, gravar ? qual o erro ?