Конечно, это возможно, в зависимости от того, насколько сложными вы хотите, чтобы эти выражения были допустимыми, это может быть нелегко или небезопасно.
У вас в основном есть два варианта:
-
Вы анализируете выражение и затем используете проанализированный результат для построения ваших критериев.
Как Абина sh Гхо sh отметил: Вы можете сделать это в виде Specification
конструктор для приятного взаимодействия с Spring Data JPA.
Это не рекомендуется использовать, я помещаю его в основном здесь, чтобы я мог отметить его как небезопасный Вы можете собрать строку SQL или JPQL и просто использовать ее как запрос. Это проще, потому что JPA сделает анализ для вас. Это откроет ваше приложение для SQL инъекции (или JPQL-инъекции, я думаю). Так что не используйте это.