Фильтрация Spring

когда создаем запись с одинаковым названием и описанием, потом ищем по названию. В выборке запись задваивается, можете помочь исправить фильтрацию введите сюда описание изображения

Часть контроллера

 @PostMapping("filter")
    public String filter(@RequestParam String filter, Model model)
    {
            List<Post> result1 = postRepository.findByTitleContaining(filter);
            List<Post> result2 = postRepository.findByMtextContaining(filter);
            List<Post> orResult = new ArrayList<>();
            orResult.addAll(result1);
            orResult.addAll(result2);
            model.addAttribute("posts", orResult);
            return "notes";
    }

Класс интерфейса

package com.IK.notes.Repo;

import com.IK.notes.Models.Post;
import org.springframework.data.repository.CrudRepository;

import java.util.List;


public interface PostRepository extends CrudRepository <Post, Long>
{
    List<Post> findByTitleContaining(String title);
    List<Post> findByMtextContaining(String mtext);
}

введите сюда описание изображения

введите сюда описание изображения

введите сюда описание изображения введите сюда описание изображения


Ответы (2 шт):

Автор решения: azlov

В интерфейсе объявляете метод, чтобы осуществить выборку по полям title и mtext:

List<Post> findByTitleContainingAndMtextContaining(String title, String mtext);

И в своем контроллере вызываете:

List<Post> result = postRepository.findByTitleContainingAndMtextContaining(title, mtext); model.addAttribute("posts", result);

Правда учтите, что Containing работает как оператор LIKE в запросе. Если нужно полное соответствие, то Containing опускаем:

List<Post> findByTitleAndMtext(String title, String mtext);

→ Ссылка
Автор решения: Иван Кандаков

Решил

@PostMapping("filter")
    public String filter(@RequestParam String filter, Model model)
    {
        List<Post> result = postRepository.findByTitleContainingOrMtextContaining(filter, filter);
        model.addAttribute("posts", result);
            return "notes";
    }
}
→ Ссылка