Relacionamento manyToOne opcional (tabela de junção) bidirecional

Pessoal, tenho um relacionamento entre as entidades Equipamento e Cliente onde cliente é opcional.
Para não deixar valor de chave nulo na tabela equipamento, criei uma tabela de junção equipamento_cliente na classe Equipamento.

[code]public class Equipamento {

private Integer equipamentoId;
private Cliente cliente;

// mapeamento com tabela de junção
@ManyToOne(fetch = FetchType.LAZY)
@JoinTable(name = "equipamento_cliente", joinColumns = {@JoinColumn(name = "equipamento_id")},
        inverseJoinColumns = {@JoinColumn(name = "cliente_id")})
public Cliente getCliente() {
    return cliente;
}

public void setCliente(Cliente cliente) {
    this.cliente = cliente;
}

}[/code]
Até aí tudo certo, mas o problema é quando mapeio bidirecionalmente na classe Cliente, aparece o seguinte erro na compilação: Deployment “persistence.unit:unitName=#Projeto” is in error due to the following reason(s): org.hibernate.MappingException: Unable to read the mapped by attribute for equipmentos in org.domain.projeto.entity.Cliente!

O mapeamento bidirecional fiz da seguinte forma:

[code]
public class Cliente {

private Integer clienteId;	
private List<Equipamento> equipamentos;

// mapeamento bidirecional
@OneToMany(mappedBy = "cliente")
public List<Equipamento> getEquipamentos() {
	return equipamentos;
}

public void setEquipamento(List<Equipamento> equipamentos) {
	this.equipamentos = equipamentos;
}

}[/code]
Alguém sabe o que está errado ou o que falta? Todos os outros mapeamentos bidirecionais @ManyToOne/@OneToMany funcionam, mas todos são @JoinColumn.
Valeu pessoal!!!

Olá, Samerjamal!

Eu não entendi bem o porquê de você utilizar essa outra @JoinTable.
Acho que essa anotation deveria ser utilizada para relacionamentos ManyToMany (segundo a especificação), e não OneToMany/ManyToOne.

Acho que funcionaria assim:

[code]public class Equipamento {

 private Integer equipamentoId;  

 @ManyToOne(fetch = FetchType.LAZY)  
 @JoinColumn(name = "cliente_id") 
 private Cliente cliente;  
    
 public Cliente getCliente() {  
     return cliente;  
 }  

 public void setCliente(Cliente cliente) {  
     this.cliente = cliente;  
}  

}[/code]

[code]public class Cliente {

 private Integer clienteId; 

 @OneToMany(mappedBy = "cliente")
 private List<Equipamento> equipamentos;  
   
 public List<Equipamento> getEquipamentos() {  
     return equipamentos;  
 }  

 public void setEquipamento(List<Equipamento> equipamentos) {  
     this.equipamentos = equipamentos;  
 }  

}[/code]