У меня есть собственный Mysql
запрос
select tl_id,c_name,m_name,u_first_name,t_name,
tl_logged_at,tl_minutes,tl_description
from users inner join clients on u_id=c_frn_owner_id
inner join matters on m_frn_client_id = c_id
inner join tasks on t_frn_matter_id = m_id
inner join task_logs on tl_frn_task_id = t_id
where c_id =2 and m_id=4 and t_id= 3 and u_id = 4
, для которого я могу написать JPQL
вместо собственного запроса. Но как получить тот же запрос, используя JPA Specification
, поскольку столбцы или поля в условиях where
c_id
, m_id
, t_id
и u_id
являются необязательными. Это опции фильтра, предоставляемые пользователю.
Генерация собственного запроса может быть выполнена с использованием условий if
. Но они подвержены опечаткам и SQL Injections
.
Документация JPASpecification
не содержит информации, касающейся объединения нескольких таблиц.
Spring Официальная спецификация JPA Doc
Я очень новичок в JPASpecification
, поэтому любое руководство будет полезным.