Quiero actualizar queryDsl de la versión 3 a la versión 4. Pero tengo un problema con exist() En QueryDsl 3 existe devuelve un valor booleano pero en QUeryDSL 4 devuelve una operación booleana. En mi caso, realmente quiero el booleano pero no sé cómo recuperarlo.
La mejor solución que he encontrado es hacer
.fetchCount() >0Pero quiero saber si existe otra (mejor) solución.
Otra opción sería algo como:
queryFactory.select(queryField).from(qTable) .where(queryField.eq(value)) .groupBy(queryField) .having(qTable.uuid.count().gt(0)) .fetchOne() != null;Esto pasa la mayor responsabilidad a la consulta. Sin embargo, posiblemente sea menos legible, por lo que dependerá de los requisitos cuál sea mejor.