antlr.NoViableAltException: неожиданный токен, предложение WHERE и неожиданный токен - PullRequest
0 голосов
/ 10 мая 2018

Я уже искал другие проблемы, связанные с этим, но я только что понял, что, возможно, это в моем запросе, возможно, что эта проблема возникла или в спящем режиме

SEE Предложение where, оно еще не было вызвано в чем может быть проблема?

Вот весь код пытаться{ // один за другим проверяем поле выбора String query = "Выберите emp.employeeID, emp.firstName, emp.middleName, emp.lastName, pos.positionName, dept.deptName, work.workplaceName" + "от сотрудника emp" + "ВНУТРЕННИЙ ОТДЕЛ Департамента" + "ON emp.departmentID = dept.deptID" + "INNER JOIN Position pos" + "ON emp.positionID = pos.positionID" + "ВНУТРЕННЯЯ РЕШЕНИЕ Работа на рабочем месте" + "ON emp.workplaceID = work.workplaceID";

                if(checkAllNotEmpty(data)) {
                    query = query.concat("WHERE ");

                    if(data.getEmployeeID() != null && !data.getEmployeeID().equals("")) {  
                        criteria.add(CRITERIA_EMPLOYEEID2);
                        System.out.println("Employee IDs");
                        input_empID = true;
                    } 

                    if(data.getEmployeeName()!= null && !data.getEmployeeName().equals("")){ 
                        criteria.add(nameCriteriaHelper(data.getEmployeeName()));
                        System.out.println("Employee Name AKOOO");
                        input_empName = true;
                    }

                    if(data.getDepartmentID()!=0) {
                        criteria.add(CRITERIA_DEPARTMENT);
                        System.out.println("Dept ID ");
                        selected_dept = true;
                    }
                    if(data.getPositionID()!=0) {
                        criteria.add(CRITERIA_POSITION);
                        System.out.println("POS ID ");
                        selected_pos = true;
                    }
                    if(data.getWorkplaceID()!=0) {
                        criteria.add(CRITERIA_WORKPLACE);
                        selected_work = true;
                    }

                    query = query.concat(String.join(" OR ", criteria));
                }
                query = query.concat(" ORDER BY emp.joinDate DESC");
                System.out.println("QUERY: " + query);
                Query q = session.createQuery(query);
                if(input_empID) {
                    q.setParameter("id", "%" + data.getEmployeeID() + "%");
                }
                if(input_empName) {
                    if(searchbyOne)
                        q.setParameter("inputName", "%" + data.getEmployeeName() + "%");
                    if(searchbyFandL)
                        q.setParameter("firstLastName", "%" +firstLastName+ "%");
                    if(searchbyCompName)
                        q.setParameter("completeName", "%" +completeName+ "%");
                }

                if(selected_dept) {
                    q.setParameter("deptID", data.getDepartmentID());
                }
                if(selected_pos) {
                    q.setParameter("posID", data.getPositionID());
                }
                if(selected_work) {
                    q.setParameter("workID", data.getWorkplaceID());
                }
                employees = (List<Object>) q.list();
    }catch(Exception e){
        e.printStackTrace();
    }finally{
        session.close();
    }

    return employees;
}

Так помогите T.T

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...