Я создаю приложение при весенней загрузке, используя базу данных postgress.
Я хочу реализовать функцию поиска по заголовку и фильтрации по категориям статей, но я не знаю, с чего начать. На данный момент приложение позволяет отображать все результаты таблицы.
С чего начать? Заранее благодарю за помощь и за все комментарии.
Модель:
@Entity(name="articles")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class Articles {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long article_id;
private String title;
private String issn;
private String eissn;
private String title2;
private String issn2;
private String eissn2;
private Integer points;
@ManyToMany
@JoinTable(
name = "articles_categories",
joinColumns = @JoinColumn(name = "article_id"),
inverseJoinColumns = @JoinColumn(name = "category_id"))
private List<Category> categories;
public Long getArticle_id() {
return article_id;
}
public void setArticle_id(Long article_id) {
this.article_id = article_id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getIssn() {
return issn;
}
public void setIssn(String issn) {
this.issn = issn;
}
public String getEissn() {
return eissn;
}
public void setEissn(String eissn) {
this.eissn = eissn;
}
public String getTitle2() {
return title2;
}
public void setTitle2(String title2) {
this.title2 = title2;
}
public String getIssn2() {
return issn2;
}
public void setIssn2(String issn2) {
this.issn2 = issn2;
}
public String getEissn2() {
return eissn2;
}
public void setEissn2(String eissn2) {
this.eissn2 = eissn2;
}
public Integer getPoints() {
return points;
}
public void setPoints(Integer points) {
this.points = points;
}
public List<Category> getCategories() {
return categories;
}
public void setCategories(List<Category> categories) {
this.categories = categories;
}
public Articles(){
}}
Репозиторий:
public interface ArticlesRepository extends JpaRepository<Articles,Long> {
}
Контроллер:
@Controller
@RequestMapping("/articles")
public class ArticlesController {
private ArticleService articleService;
@Autowired
public void setArticleService(ArticleService articleService) {
this.articleService = articleService;
}
@GetMapping
public String getAll(Model model)
{
model.addAttribute("articles", articleService.list());
return "articles";
}
Сервис:
@Service
public class ArticleService {
@Autowired
private ArticlesRepository articlesRepository;
public ArticleService() {
}
public List<Articles> list(){
return articlesRepository.findAll();
}}