União de tabelas com chave composta

0 respostas
V

Olá pessoal,

Estou com um problema, preciso pegar todas os campos dessa duas tabelas:

@Entity

@Table(name = “requisitos_erp”)

@NamedQueries({@NamedQuery(name = “RequisitosErp.findAll”, query = “SELECT r FROM RequisitosErp r”),

@NamedQuery(name = “RequisitosErp.findByIdBts”, query = “SELECT r FROM RequisitosErp r WHERE r.requisitosErpPK.idBts = :idBts”),

@NamedQuery(name = “RequisitosErp.findByIdCap”, query = “SELECT r FROM RequisitosErp r WHERE r.requisitosErpPK.idCap = :idCap”),

@NamedQuery(name = “RequisitosErp.findByIdSubcap”, query = “SELECT r FROM RequisitosErp r WHERE r.requisitosErpPK.idSubcap = :idSubcap”),

@NamedQuery(name = “obterRequisitoPelaChave”,query = “SELECT r FROM RequisitosErp r WHERE r.requisitosErpPK.idBts = :idBts and r.requisitosErpPK.idCap = :idCap and r.requisitosErpPK.idSubcap = :idSubcap and r.requisitosErpPK.doc = :doc”),

@NamedQuery(name = “RequisitosErp.RequisitoERP”,query = “SELECT r FROM RequisitosErp r WHERE r.requisitosErpPK.idBts = :idBts and r.requisitosErpPK.idCap = :idCap and r.requisitosErpPK.idSubcap = :idSubcap”),

@NamedQuery(name = “RequisitosErp.findByDoc”, query = “SELECT r FROM RequisitosErp r WHERE r.requisitosErpPK.doc = :doc”)})

public class RequisitosErp implements Serializable {

private static final long serialVersionUID = 1L;

@EmbeddedId

protected RequisitosErpPK requisitosErpPK;

<a class="mention" href="/u/basic">@Basic</a>(optional = false)

<a class="mention" href="/u/lob">@Lob</a>

@Column(name = “requisito”)

private String requisito;

E essa tabela:

@Embeddable

public class RequisitosErpPK implements Serializable {

<a class="mention" href="/u/basic">@Basic</a>(optional = false)

@Column(name = “id_bts”)

private long idBts;

<a class="mention" href="/u/basic">@Basic</a>(optional = false)

@Column(name = “id_cap”)

private int idCap;

<a class="mention" href="/u/basic">@Basic</a>(optional = false)

@Column(name = “id_subcap”)

private int idSubcap;

<a class="mention" href="/u/basic">@Basic</a>(optional = false)

@Column(name = “doc”)

private String doc;

Preciso fazer uma função que retorna todos os campos dessas duas tabelas para conseguir linkar essa função numa table.

Abaixo o código que havia criado:

public RequisitosErp[] getErpCasoTeste(long id_btsERP,int id_capERP,int sub_cap_idERP){
RequisitosERPDAO reqERPDAO = new RequisitosERPDAO();

List reqERPList = reqERPDAO.ListaReqERP(id_btsERP,id_capERP,sub_cap_idERP);

   Iterator it = reqERPList.iterator();

   RequisitosErp[] ReqERP = new RequisitosErp[reqERPList.size()];

    int i = 0;
    while (it.hasNext()) {
        ReqERP[i] = (RequisitosErp) it.next();
        i++;
    }

    getSessionBean1().setReqERP(ReqERP);
    return ReqERP;

   return null;
}

porém quando linko essa função em uma table, ela apenas me retorna o campo “requisito” que ta na tabela requisitos_erp

Mas eu queria todos os campos, tanto da tabela “requisitos_erp” tanto da “requisitos_erpPK”

Obrigada.

Criado 3 de junho de 2009
Respostas 0
Participantes 1