Eu consegui fazer funcionar… mas tenho uma tabela que a PK/FK dela tem o mesmo nome que uma PK/FK da outra tabela que é FK da primeira rsrsr… vou exemplificar
Ex:
Table Empresa
PK cod_empresa
Table Operacoes
PK cod_operacao
PK/FK cod_empresa
Table Venda
PK controle
PK/FK cod_empresa
FK cod_operacao (minha duvida é aqui, acredito q ele tenta mapear um cod_empresa aqui tambem, ja que a tabela operaçoes tambem tem um cod_empresa)
Fiz assim:
Esse mapeamento Funciona!
@Embeddable
public class OperacoesPK implements Serializable {
@Column(name="cod_operacao")
private int codOperacao;
@Column (name="cod_empresa")
private int codEmpresa;
@Entity
public class Operacoes {
@EmbeddedId
private OperacoesPK pk;
Aqui por usar a mesma FK como PK ta dando pau
@Embeddable
public class VendaPK implements Serializable{
private Long controle;
private String serie;
@Column(name="cod_empresa")
private int codEmpresa;
@Entity
@Table(name="vendas")
public class Venda {
@EmbeddedId
private VendaPK pk;
@OneToOne
@JoinColumns({
@JoinColumn(name="cod_operacao", insertable=false, updatable=false),
@JoinColumn(name="cod_empresa", insertable=false, updatable=false)//acho que teria que ser só o joincolumn de cima, mas se deixar só ele dá erro porque a PK de operaçoes sao duas colunas
})
private Operacoes operacao;