Olpa Pessoal, andei pesquisando no forum e não encontrei nada exatamente como com o que estou enfrentando.
Preciso fazer o seguinte mapeamento:
Possuo os beans :
PedaBean(Pedidos):
[code]@Entity
@Table(name=“ID_CDTB_PED_AMOSTRAS_PEDA”)
public class PedaBean implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private PedaID pedaID;
@Column(name="PEDA_NR_TUBOS", nullable=true)
private Integer nr_tubos;
@Column(name="PEDA_NR_EXAMES", nullable=true)
private Integer nr_exames;
@Column(name="PEDA_CD_IDENTIF", nullable=true, length=15)
private String cd_identif;
@Column(name="PEDA_NO_NOME", nullable=true, length=45)
private String no_nome;
@Column(name="PEDA_DS_IDADE", nullable=true, length=7)
private String ds_idade;
@Column(name="PEDA_CD_SEXO", nullable=true, length=1)
private char cd_sexo;
@Column(name="PEDA_DS_DUM", nullable=true, length=10)
private String ds_dum;
@Column(name="PEDA_DS_SGES", nullable=true)
private Double ds_sges;
@Column(name="PEDA_NO_MEDICO", nullable=true, length=60)
private String no_medico;
@Column(name="PEDA_DS_OBSERVACAO", nullable=true, length=60)
private String ds_observacao;
@Column(name="PEDA_IN_SIPEX", nullable=true, length=1)
private Character in_sipex;
@Column(name="PEDA_NO_USUARIO", nullable=true, length=10)
private String no_usuario;
@OneToMany(mappedBy="pedaBean", cascade=CascadeType.ALL)
private List<DtexBean> exames;
getters and setters...
[/code]
Com o pk (PedaID):
[code]@Embeddable
public class PedaID implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="PEDA_ID_CLIENTE", nullable=false)
private int id_cliente;
@Column(name="PEDA_DH_PEDIDO", nullable=false)
private Date dh_pedido;
@Column(name="PEDA_NR_PEDIDO", nullable=false)
private int nr_pedido;
getters and setters...
[/code]
E itens do Pedido(Exames no caso):
[code]@Entity
@Table(name=“ID_CDTB_DETALHE_EXAMES_DTEX”)
public class DtexBean implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private DtexID dtexID;
@Column(name="DTEX_NR_QUANTIDADE", nullable=true)
private Integer nr_quantidade;
@Column(name="DTEX_DH_COLETA", nullable=true)
private Date dh_coleta;
@Column(name="DTEX_DS_OBSERVACAO", nullable=true, length=50)
private String ds_observacao;
@Column(name="DTEX_CD_BARRAS", nullable=true, length=12)
private String cd_barras;
@Column(name="DTEX_CD_BARRASCLIENTE", nullable=true, length=15)
private String cd_barrascliente;
@ManyToOne
private PedaBean pedaBean;
getters and setters...
[/code]
com a PK:
[code]@Embeddable
public class DtexID implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="DTEX_ID_CLIENTE", nullable=false)
private Integer id_cliente;
@Column(name="DTEX_DH_PEDIDO", nullable=false)
private Date dh_pedido;
@Column(name="DTEX_NR_PEDIDO", nullable=false)
private Integer nr_pedido;
@Column(name="DTEX_CD_EXAME", nullable=false)
private Integer cd_exame;
getters and setters...
[/code]
Minha dúvida é: como fazer o Join em DtexBean se as colunas das duas tabelas são diferentes ??? Elas não possuem um nome em comum como por exemplo ID_CLIENTE, DH_PEDIDO e NR_PEDIDO. Essa base de dados já existe e esta em operação, INFELIZMENTE NÂO POSSO MUDA-LA, em minha base de teste renomeei as colunas e minhas anotações e deu certo, mas não irei poder faze-lo.
Obrigado.