Hql retornando erro

o meu metodo:

@Transactional(readOnly=true)
@Query(" SELECT DISTINCT obj FROM Product obj WHERE obj.name =:q AND obj.price =:max_price >= obj.price =:min_price  ")
List<Product>search(@Param("q") String q,@Param("min_price") Double min_price,@Param("max_price") Double max_price);

erro:

2021-06-09 22:36:07.983 ERROR 8904 --- [  restartedMain] o.h.hql.internal.ast.ErrorTracker        :  right-hand operand of a binary operator was null

antlr.SemanticException: right-hand operand of a binary operator was null

Parece que está faltando um AND no seu HQL. Esse trecho está estranho:

AND obj.price =:max_price >= obj.price =:min_price  
                          ^

Bom dia, na verdade eu quero fazer uma comparação de valores, que vá do menor ao maior, deve ser erro de sintaxe, queria saber como faz.

Seria, então, uma ordenação?

Se for, tenta assim:

SELECT DISTINCT 
	obj 
FROM 
	Product obj 
WHERE 
	obj.name = :q 
	AND obj.price >= :min_price
	AND obj.price <= :max_price
ORDER BY
	obj.price

obrigado, vou testar aqui.

Em SQL você pode usar BETWEEN para esses casos:

SELECT DISTINCT 
	obj 
FROM 
	Product obj 
WHERE 
	obj.name = :q 
	AND
    obj.price BETWEEN :min_price AND :max_price
ORDER BY
	obj.price

No caso, fazer campo BETWEEN minimo AND maximo é equivalente a campo >= minimo AND campo <= maximo.

massa demais, muito obrigado.