Given my SQL query below:
SELECT
maker_code
FROM
maker
WHERE
part_no = p_part_no
AND effect_date_in <= TODAY
AND effect_date_out > TODAY
AND effect_date_in = (SELECT MAX(effect_date_in) FROM maker WHERE part_no =p_part_no)
I want to use Spring Data JPA with inbuilt methods like findBy---() which will return the same result as of the above sql query
I tried JPQL Query:
@Query(value = "
SELECT p FROM Pg6p0012_01PurpartQueryModel p where p.partNo = :p_part_no AND
p.effectDateIn <= TODAY AND p.effectDateOut > TODAY AND p.effectDateIn =
(
select max(p.effectDateIn)from Pg6p0012_01PurpartQueryModel where partNo =:p_part_no)"
)
public List<Pg6p0012_01PurpartQueryModel>findByPartNo(@Param("p_part_no") String p_part_no);
But I am getting an error: Bad use of aggregate in this context.
@Query, where you would define a standard JPQL query.