чтобы не писать запрос с семантикой определенной БД, которые придется переписывать при смене БД queryDsl очень удобная и самостотельно расширяемая штука, например
Это неверная идея, так как 1) смена БД бывает крайне редко 2) при смене БД придется все равно логику работы пересматривать, так как разница между РСУБД - далеко не только в языке запросов.