SpringDataJpa(jpql 복잡 한 조회 부분)

2056 단어 jpa
jpql 조회 방식:자바 지구 화 조회 언어:
특징:문법 이나 키워드 와 SQL 문장 유사
클래스 와 클래스 의 속성 을 조회 합 니 다.
 
인터페이스 방법 에 jpql 문 구 를 설정 해 야 합 니 다.
4.567917.특유 의 조회:dao 인터페이스 에 설정 방법 이 필요 합 니 다4.567917.새로 추 가 된 방법 에 있어 서 주석 형식 으로 jpql 조회 문 구 를 설정 합 니 다주해:@Query
  • public interface StudentDao extends JpaRepository, JpaSpecificationExecutor {
        /**
         *   StudentDao          CRUD   
         */
    
    
        /**
         *   :           
         *   jpql     
         *  jpql: from Student where name = ?
         *
         *  jpql       @Query  
         *
         *  ?                 
         *
         */
        @Query(value = "from Student  where name= ?1")
        public List findJpql(String name);
    
    
    }
    
    
    
    
    
    
    
        @Test
        public void testfindjpql() {
            System.out.println(studentDao);
            List list = studentDao.findJpql("  ");
            for (Object object : list) {
                System.out.println(object);
            }
        }
    
    
    
    
    
    
        /**
         *        id    
         * jpql: from Student where name = ?1 and id = ?2
         */
        @Query(value = "from Student where name = ?1 and id = ?2")
        Student finduserByIdAndName(String name,Integer id);  //                              
     

  • 업데이트 작업:
    
       /**
         *   jpql      
         *    id       
         *
         *  sql: update student set name = ? where id = ?
         *
         *  jpql: update Student set name = ? where id =  ?
         *@Query:        
         *  *               @Modifying
         *
         */
    
        @Query(value = "update Student set name = ?1 where id =  ?2")
        @Modifying
        void updateUserNameById(String name,Integer id);
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        /**
         *     
         *      springdatajpa   jpql      /                    @Transactional   (         )
         *
         */
        @Test
        @Transactional   //                               
        @Rollback(value = false)   //      
        public void uopda(){
            studentDao.updateUserNameById("  ",47);
        }

     
     

    좋은 웹페이지 즐겨찾기