Data JPA말고 그냥 JPA를 사용할 때,
결과가 하나 이상일 때, 리스트로 반환한다.
만약 결과가 없으면 빈 리스트를 반환한다.
결과가 정확히 하나 일 경우에만 사용한다.
결과가 없으면 NoResultExceiption
2개 이상이면 NoUniqueResultExceiption
예를 들어 유저의 pk를 가지고 유저의 정보를 가져오고 싶은 경우를 생각해보자.
getSingleResult()를 쓰고 exceiption을 처리한다??
아무튼 find*byId같은 경우 Optional객체로 반환해야하니 아무래도 stream()을 통해서 Optional로 감싸는게 낫겠다.