SpringJPA에 대한 동적 질의
1. Repository @Repository public interface TransTask Manager extends JpaRepository, JpaSpecificationExecutor {}
2. Repository 쿼리 문
1, 객체를 매개 변수로 전송 @Modifying @Transactional @Query("update TransTask t set t.flow Status =: #{#transTask.flow Status = where t.flow Status =: #{#old Status}") int update Flow Status(@Param("transTask") TransTask, @Param("old Status")
2, 문자열은 매개 변수로 @Modifying@Transactional @Query("update TransTask t set t.transId =:transId where t.taskId =:taskId") int updateTransId(@Param("transId") String transId, @Param("taskId") String taskId)
3, 매개변수 위치 @Query("from TransTask t where t.taskId =? 1 and t.taskName like? 2 and t.flow Status = 100 and t.isDelete=2") Pagequery ByParams(@Param("taskId") String taskId, @Param("taskName") String taskName, Pageable pageable pageable);
4, 네이티브 sql@Query(value = "select t.play Url from ty trans task t where t.taskId =:taskId", nativeQuery = true) String getPlay Urls(@Param("taskId") String taskId)
5,Example_인스턴스 조회 Person person = new Person(),person.setFirstname("Dave");//Firstname = 'Dave'
ExampleMatcher matcher = ExampleMatcher.matching() .withMatcher ("name",GenericPropertyMatchers.startsWith ()//이름은 "일치 시작"방식으로 조회합니다.withIgnorePaths("int");//속성 무시: 주목할지 여부.기본 타입이기 때문에 무시해야 한다
Example example = Example.of(person, matcher);//Example 도메인 객체 및 구성에 따라 새 Example Matcher 작성
6, specification 쿼리
@Transactional(readOnly = true)
public Page query(TransTaskReq req) {
PageRequest pageRequest = new PageRequest(req.getPageNum(), req.getPageSize(), Sort.Direction.valueOf(req.getOrder()), req.getSort());
Specification specification = new Specification() {
@Override
public Predicate toPredicate(Root root, CriteriaQuery> query, CriteriaBuilder cb) {
List predicates = new ArrayList<>();
//
if (StringUtils.isNotBlank(req.getTaskId())) {
predicates.add(cb.equal(root.get("taskId").as(String.class), req.getTaskId()));
}
//
if (StringUtils.isNotBlank(req.getTaskName())) {
predicates.add(cb.like(root.get("taskName").as(String.class), "%" + req.getTaskName() + "%"));
}
// in
Expression exp = root.get("id");//root.get("id").as(String.class)
predicates.add(exp.in(noticeIds));
// in
CriteriaBuilder.In
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.