Получить список объектов из запроса HQL с совместной

У меня есть две таблицы: клиенты и команды, это @OneToMany отношение от клиента к командам, один клиент имеет много команд. команды таблицы содержат: idCommand, date, nameCommande, idCustomer, Таблица клиентов содержит: idCustomer, nameClient, email, Все JPA и EJB настроены, и я могу легко получить список команд или клиентов, используя запрос 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;
}

Как мне объединить две таблицы с idCustomer столбец, чтобы показать имя клиента вместо его идентификатора? Я использовал этот запрос HQL

SELECT c.date, c.name Commande, cu.nameClient FROM Commande AS c, Customer AS cu WHERE cu.idCustomer = c.idCustomer

Но я понятия не имею о List<> тип, который мне нужно использовать, чтобы получить результат /

1 ответ

Решение

Если вы отобразите обратную связь в Commande юридическое лицо...

public class Commande {
    ...

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

    // getter and setter ...
}

(Вот, mappedBy получает имя @OneToMany собственность, созданная на другой стороне отношений)

Затем после выполнения вашего запроса SELECT c FROM Commande c вы получите список Commande объекты, и для каждого из них вы можете получить имя клиента, используя: thisCommande.getClient().getName(),

Другие вопросы по тегам