there is typical jpa interface
public interface AnswerPollsRepository extends JpaRepository<EAnswerPoll, Long>{
default String getQuery(Map<String,String>map,Long pollId){
String sql="select a.* from answer_poll a where a.poll_id ="+pollId;
return sql+map.entrySet().stream()
.filter(x->!x.getKey().equals("mail")&&x.getKey().equals("name"))
.map(x->"and a.parameters->>"+x.getKey()+" like "+x.getValue())
.collect(Collectors.joining(" "));
@Query( value = "#{@.getQuery(#id,#map)}" ,nativeQuery = true)
List<Long>findAllByCustomFilter(@Param("id") Long pollId,@Param("map") Map<String,String>map);
how to put getQuery to @Query?or it is impossible?
this does not work
@Query( value = "#{@.getQuery(#id,#map)}" ,nativeQuery = true)
question from:
https://stackoverflow.com/questions/66065233/how-to-put-method-to-query 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…