문서의 이전 판입니다!
public interface MyEntityRepository extends JpaRepository<MyEntity, KeyClass>, MyEntityRepositoryCustom {
}
QueryDslPredicateExecutor를 추가하지 않아도 된다. Custom 에서 QueryDslJpaRepository를 구현해서 직접 사용해도 된다.JpaRepository, QueryDslJpaRepository, JpaSpecificationExecutor 등을 조합하고자 할 경우에 이것들을 통합 상속하는 인터페이스를 만들고 JpaRepository 대신 이를 extends 해도 된다.@Transactional(value = "transactionManager", readOnly = false) public abstract class MyDomainRepositorySupport extends QueryDslRepositorySupport { // JdbcTemplate, jooq 등을 injection할 수도 있다. public MyDomainRepositorySupport(Class<?> domainClass) { super(domainClass); } @PersistenceContext(unitName = "persistenceUnitName") @Override public void setEntityManager(EntityManager entityManager) { super.setEntityManager(entityManager); } }
@Query(value = "select user_id, user_name from users ", nativeQuery = true) List<Object[]> findUSBCandidates();
@Query(value=“쿼리문”, nativeQuery = true)로 수행한다.Object []로 받아서 컬럼 지정 순서대로 값을 뽑아서 사용한다.QueryDslRepositorySupport을 상속하면 QueryDSL 사용이 가능해진다.QuerydslRepositorySupport 로 이름 변경QueryDslRepositorySupport 상속 객체를 Spy() 로 만들고 repositoryImpl.from(_) » jpqlQuery 로 한 뒤에 jpqlQuery에 대해 행위를 정의하면 된다.