Jpa 使用joint从HQL查询获取对象列表

Jpa 使用joint从HQL查询获取对象列表,jpa,ejb,hql,jointjs,Jpa,Ejb,Hql,Jointjs,我有两个表:Customers和Commands,这是一个从客户端到命令的@OneToMany关系,一个客户端有许多命令。 表格命令包括:idCommand、date、namecomande、idCustomer。 表customers包含:idCustomer、nameClient、email。 所有的JPA和EJB都已设置好,我可以在托管bean中使用HQL查询轻松获得命令或客户机的列表,并使用此代码在JSP中列出它们 public List<Commande> selectA

我有两个表:Customers和Commands,这是一个从客户端到命令的
@OneToMany
关系,一个客户端有许多命令。 表格命令包括:
idCommand、date、namecomande、idCustomer
。 表customers包含:
idCustomer、nameClient、email
。 所有的JPA和EJB都已设置好,我可以在托管bean中使用HQL查询轻松获得命令或客户机的列表,并使用此代码在JSP中列出它们

 public List<Commande> selectAllCommandes() {
    List<Commande> commandes = em.createQuery("select c from Commande c").getResultList();
      return commandes;
}
 public List<Customer> selectAllCustomers() {
    List<Customer> customers = em.createQuery("select cu from Customer cu").getResultList();
    return customers;
}
public List selectAllCommandes(){
List commandes=em.createQuery(“从Commande c中选择c”).getResultList();
返回命令;
}
公共列表selectAllCustomers(){
List customers=em.createQuery(“从客户cu中选择cu”).getResultList();
返回客户;
}
如何使用
idCustomer
列连接这两个表,以显示客户端的名称而不是其id?我使用了这个HQL查询

从Commande中选择c.date、c.name命令、cu.nameClient作为c、Customer作为cu,其中cu.idCustomer=c.idCustomer


但是我不知道如果在
命令
实体中映射反向关系,那么我需要使用
列表
类型来获得结果

public class Commande {
    ...

    @ManyToOne(mappedBy="commande")
    private Client client;

    // getter and setter ...
}
(此处,
mappedBy
正在获取在 (关系的另一面)


然后在执行查询之后,从Commande c中选择c,你会得到一个Commande对象的列表,对于每一个对象,你都可以使用以下命令获得客户端的名称:
thismcommande.getClient().getName()

@AndroidLearner:API/library/framework/软件名称,如“JSF”、“EJB”、“JPA”、“JSP”,等等都不是代码!请停止将其格式化为代码。仅格式化您在代码中也真正用作代码的短语。@BalusC:我会记住的。谢谢您宝贵的建议…:)