как решить: невозможно построить Hibernate SessionFactory Причина: org.hibernate.HibernateException: ошибки в именованных запросах - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть именованный запрос

@NamedQuery(name = "Notification.findByyoungngAndInstNum",
        query = "SELECT n FROM Notification n WHERE n.institutionsregister.institutionnumber = ?1 and n.young is not null and n.date is null")

Я хочу добавить дополнительную проверку, где я хочу добавить возраст молодежи> = 25 лет

Я пробовал это

SELECT n FROM Notification n WHERE n.institutionsregister.institutionnumber = ?1 and n.young is not null and age(current_date, n.young.dob) >= (interval '25' year)) and n.date is null

но получаю ошибку при развертывании в jboss. (Невозможно собрать Hibernate SessionFactory. Причина: org.hibernate.HibernateException: ошибки в именованных запросах)

Имена таблиц: Notification, Institutionregister. поле fieldnumber, таблица Young содержит поле dob (дата рождения).

не в состоянии выяснить, как его оформить.

1 Ответ

1 голос
/ 25 апреля 2020

Это альтернативное решение, попробуйте это

Calendar calendar = Calendar.getInstance();
      calendar.add(Calendar.YEAR, -25);
      Date dt =  calendar.getTime(); // use this as query argument, it can be dynamic


  SELECT n FROM Notification n WHERE n.institutionsregister.institutionnumber = ?1 and n.young is not null and n.date is null and n.young.dob < = ?2 
...