Basicaly, 문장에 특정 단어가 있는지 찾는 것처럼 비슷합니다. 엔티티 포스트가 : 나는 그들의 title
필드 (인수로 전달 byTitle
) 특정 단어/문자열이 Post
엔티티 인스턴스를 검색합니다 JPQL
쿼리 및 두 개 이상의 인수를 구현하기 위해 노력하고엔티티의 필드 중 하나에 단어/문자열이 포함되어 있는지 검색하기위한 JPQL 쿼리
public class Post implements Serializable {
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "post_id", unique = true, nullable = false)
private Integer id;
@Column(name = "post_title", length=300, unique = false, nullable = false)
private String title;
@Column(name = "post_date", unique = false, nullable = false)
private Date date;
...}
Date
유형, 즉 날짜 범위 - startDate
및 endDate
을 나타냅니다. SELECT p FROM Post p WHERE :byTitle IN (set of strings created from parsing p.title field) AND p.date>=:startDate AND p.date<=endDate
어떻게 JPQL 쿼리 이런 종류의 구현 :
내 마음에 이런 일이? 아니면 JPA Criteria API를 사용해야합니까?
편집 : someString.contains(someSubstring)
기능은 자바가 처럼, JPQL 유사한 있나요? 또는 Criteria API? 비교를 위해 대소 문자를 구분할 필요가 없습니다.
WHERE (p.title LIKE :firstWord OR ... OR p.title LIKE :lastWord) AND p.date >= :startDate AND p.date <= :endDate
다음 매개 변수를 설정 :