강의

멘토링

로드맵

Inflearn Community Q&A

aispark0271's profile image
aispark0271

asked

Practice! Querydsl

Change to Spring Data JPA Repository

안녕하세요. 질문드립니다.

Written on

·

726

0

java.lang.IllegalArgumentException: Could not locate ordinal parameter [1], expecting one of []

이와 같은 익셉션이 발생합니다.

실행 테스트 코드 입니다.

package study.querydsl.repository;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;
import study.querydsl.entity.Member;

import javax.persistence.EntityManager;
import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;

@SpringBootTest
@Transactional
class MemberRepositoryTest {

@Autowired
EntityManager em;

@Autowired
MemberRepository memberRepository;

@Test
public void basicTest() {
Member member = new Member("member1", 10);
memberRepository.save(member);
Member findMember = memberRepository.findById(member.getId()).get();
assertThat(findMember).isEqualTo(member);

List<Member> result1 = memberRepository.findAll();
assertThat(result1).containsExactly(member);

List<Member> result2 = memberRepository.findByUsername("member1");
assertThat(result2).containsExactly(member);
}
}

에러는 List<Member> result2 = memberRepository.findByUsername("member1");

여기서 발생합니다.

git 주소 입니다.

https://github.com/aispark/querydsl

javaJPA

Quiz

71% of people got it wrong. Give it a try!

스프링 데이터 JPA 사용 시 순수 JPA와 비교하여 개발 생산성 측면에서 얻는 주요 이점은 무엇일까요?

모든 쿼리를 수동으로 복잡하게 작성해야 한다

기본 CRUD(저장, 조회 등) 메서드를 인터페이스만으로 자동으로 제공받는다

모든 동적 쿼리 구현이 항상 완전히 자동화된다

데이터베이스 연결 설정을 직접 XML 파일로 관리해야 한다

Answer 1

1

aispark0271님의 프로필 이미지
aispark0271
Questioner

자답 입니다.

MemberRepository에 @Param 을 선언하지 않아서 파라메터를 찾지 못했네요

yh님의 프로필 이미지
yh
Instructor

스스로 잘 해결하셨습니다^^

aispark0271's profile image
aispark0271

asked

Ask a question