В Spring MVC, используя HQL JOIN, я получаю одни и те же данные за несколько раз - PullRequest
0 голосов
/ 25 сентября 2018

Здесь я объединяю две таблицы и получаю их в List<Confrenceresponse>, но я не знаю, почему весь мой список дает только первые данные за раз (размер списка, полученный по запросу).

  public List<ConferenceResponse> getConferenceResponse(long listId) {
    String hql = "select e.contact as contact, e.name as name, e.ueId as ueId, c.created as created from ExcelDatas e left join 
    channels c on e.contact=c.cid_num where e.ueId = "+listId;
    List<ConferenceResponse> confRe =(List<ConferenceResponse>)getSession().createNativeQuery(hql, ConferenceResponse.class).getResultList();

      for(ConferenceResponse cr:confRe) {
         System.out.println("Name "+cr.getName());
      }
    getSession().flush();
    return confRe;
}

Здесь, если я получаю 3 данных соединения из таблицы, я получаю первые данные, повторенные три раза.Может ли кто-нибудь решить это?Спасибо.

1 Ответ

0 голосов
/ 25 сентября 2018

Измените свой HQL на следующий.Также HQL не поддерживает ключевые слова.

String hql = "select e.contact as contact, e.name as name, e.ueId as ueId, c.created as created from ExcelDatas e left join 
   e.contact c where e.ueId = "+listId;

Если у вас нет связей в классе сущностей, вам необходимо выполнить перекрестное соединение следующим образом.

String hql = "select e.contact as contact, e.name as name, e.ueId as ueId, c.created as created from ExcelDatas e,channels c where e.contact=c.cid_num and e.ueId = "+listId;
...