Olá galera. Eu tenho um caso muito difícil e interessante. Estou com um BD em produção, e precisei mapeá-lo via hibernate. Resultado: Tenho para uma tabela, uma chave composta por 6 campos.
Agora eu tenho que relacionar a uma outra tabela, onde a relação não existe no esquema do BD.
A tabela MRP está assim:
@Entity
@Table(name = "MRP")
public class MRP implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@EmbeddedId
private MRPId id;
E a chave dela é a Classe MRPId (que não existe no banco. O que existe são os campos que compõe essa chave).:
@Embeddable
public class MRPId implements Serializable{
@Column(name= "EMPRESA")
private String empresa;
@Column(name= "PROJETO")
private String projeto;
@Column(name= "REFERENCIA")
private String referencia;
@Column(name= "PANTONE")
private String pantone;
@Column(name= "DATA")
private Date data ;
@Column(name= "SEQ_MRP")
private BigDecimal sequenciaMRP;
O problema é que existe (não no banco) uma relação do atributo "projeto" com a entidade :
@Entity
@Table(name="PROJETO")
public class Projeto {
@Id
@Column(name="COD_PROJETO")
@OneToMany//(mappedBy = "projeto")
private List<MRP> mrps ;//= new LinkedList<>();
Como mapear essa bagunça?
Lembrando que um PROJETO tem vários MRPs e um MRP tem um Projeto.