Почему не проходит HQL запрос?

95
23 марта 2022, 03:50

Подскажите, пожалуйста, что здесь не так? Хочу извлечь salary,subject, FirstName данные три поля, при том, что salary>500, но получаю Exception вида

Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: by near line 1, column 76 [select e.salary,e.FirstName,m.subject 

Не могли бы вы объяснить что я делаю не так?

List list1;
Query query1 = session.createQuery("select e.salary,e.FirstName,m.subject from Employee e,Meeting m where e.salary>500");
list1 = query1.list();
log.info("=====");
list1.stream().forEach(emplSalary -> log.info(emplSalary.toString()));

Сущность Employee:

@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "EMPLOYEE")
public class Employee {
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "IMPLOYEE_ID", unique = true)
private Long employeeID;
private String FirstName;
private String LastName;
private int salary;
@ToString.Exclude
@OneToOne(fetch = FetchType.LAZY, mappedBy = "employee", cascade = CascadeType.ALL)
@Access(AccessType.PROPERTY)
private EmployeeDetail employeeDetail;
@ToString.Exclude
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "DEPARTMENT_ID")
private Department department;
@ToString.Exclude
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "EMPLOYEE_MEETING", joinColumns = {@JoinColumn(name = "EMPLOYEE_ID")},
        inverseJoinColumns = {@JoinColumn(name = "MEETING_ID")})
private List<Meeting> meetings = new ArrayList<>();

}

Сущность Meeting:

@NoArgsConstructor
@AllArgsConstructor
@Data
@Entity
@Table(name = "MEETING")
public class Meeting {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "MEETING_ID")
private Long meetingID;
private String subject;
private LocalDateTime startDate;
@EqualsAndHashCode.Exclude
@ManyToMany(mappedBy = "meetings")
private Set<Employee> employees = new HashSet<>();
public Meeting(String subject) {
    this.subject = subject;
    this.startDate = LocalDateTime.now();
}

}

READ ALSO
Вывод второй таблицы в ListView

Вывод второй таблицы в ListView

Возникла проблемаИмею две таблицы в SQLite, в первой нормально выводятся и добавляются данные

131
Как добавить фильтр только к &lt;image /&gt; внутри SVG, но не ко всему SVG

Как добавить фильтр только к <image /> внутри SVG, но не ко всему SVG

У меня небольшая проблема со стилизацией SVG и изображением внутриВ SVG у меня есть два фильтра

119
Придание стилей одному элементу при наведении на другой

Придание стилей одному элементу при наведении на другой

Если использовать псeвдоэлемент :hover и прописать стили конкретному элементу, то эти стили будут применены к немуНо как сделать так, чтобы...

150
Фатальная ошибка

Фатальная ошибка

Есть у меня парсер музыки с ВК, так вот, он перестал работать, в чём может быть проблема?

90