Pessoal,
Tenho um mapeamento de uma classe que possui uma chave composta, porém um dos itens dessa chave é também uma chave estrangeira. Como faço isso? Tentei o seguinte:
@Entity
@Table(name="item_carga_venda", schema="cdpc")
public class ItemCargaVenda implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private ItemCargaVendaPK id;
@Column(name="qtd_volumes")
private int qtd_volumes;
@Column(name="cod_situacao")
private String cod_situacao;
// getters and setters ...
}
A chave composta:
@Embeddable
public class ItemCargaVendaPK implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="num_pedido")
private int num_pedido;
@Column(name="num_item")
private int num_item;
// RELACIONAMENTOS
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="num_carga_venda")
@Fetch(FetchMode.JOIN)
private CargaVenda carga;
// getters and setters ...
}
É assim mesmo? Na classe CargaVenda eu faço um relacionamento para essa ItemCargaVendaPK?
Tô apanhando demais para o hibernate com essas chaves compostas. Há, quero fazer do modo certo mesmo. Nada disso de criar uma coluna com uma chave primária. A intenção é fazer o mapeamento correto.