.html
<ul class="select-options">
<li class="option" data-value="제목" onclick="setSearchField('title')">제목</li>
<li class="option" data-value="내용" onclick="setSearchField('content')">내용</li>
</ul>
<input type="hidden" name="searchField" id="searchField" value="">
<script th:inline="javascript">
function setSearchField(value) {
$('#searchField').val(value);
}
</script>
Dao
//제목 및 내용 [field가 빈 문자열일때 조건 추가]
if (!StringUtils.isEmpty(paramDto.getSearchValue())) {
if (StringUtils.isEmpty(paramDto.getSearchField())) {
Specification<NoticeSubEntity> titleSpec = (root, query, builder) -> builder.like(root.get("title"),
"%" + paramDto.getSearchValue() + "%");
Specification<NoticeSubEntity> contentSpec = (root, query, builder) -> builder.like(root.get("content"),
"%" + paramDto.getSearchValue() + "%");
spec = spec.and(titleSpec.or(contentSpec));
} else {
spec = spec.and((root, query, builder) -> builder.like(root.get(paramDto.getSearchField()),
"%" + paramDto.getSearchValue() + "%"));
}
}
'Develop > JPA' 카테고리의 다른 글
[JPA]VM Options 설정하기 (2) | 2024.09.23 |
---|---|
.jpb 파일이란 무엇일까 (0) | 2024.07.24 |
JPA를 이용해 조회수 간단하게 구현하기 (0) | 2024.07.02 |
Page객체의 content 메서드 (0) | 2024.06.20 |
JPA를 통해 간단히 코드 몇줄로 쿼리 없이 카테고리별로 리스트 가져오기 (0) | 2024.06.13 |