작성
·
232
0
16:05분경의
명시적 조인을 사용하여 경로표현식 코드를
수행시 콘솔에 쿼리가 찍히지 않네요
String query = "select m.username from JpqlTeam t join t.members m";
List<Collection> result = em.createQuery(query, Collection.class).getResultList();
이부분은 쿼리수행 결과 return type이 Collection이 아니라
List<Object[]> result = em.createQuery(query).getResultList();
로 수정했을때 정상 수행이 되는데
문제는 이렇게 수행이 되지 않는 경우
런타임 에러가 발생하지도 않고, main.java에 다른 em.createQuery 구문도 수행되지 않고 그냥 종료가 되네요.
JPQL 구문자체가 string이라 컴파일에러는 불가능할 것 같고,
쿼리 수행이력 조차 콘솔에 찍히지 않는점,
다른 em.createQuery 구문도 수행되지 않고 그냥 종료가 되는 점은 실무에선 좀 치명적인 약점이 될 수 있을것 같네요.
이 부분에 대해서 왜 그런지 설명 좀 부탁드립니다.
답변 1
0
안녕하세요. amuro_ray님
아마 그냥 종료가 되지는 않을거에요.
catch 부분에서 예외를 e.printStackTrace()로 출력해보시면 예외를 확인하실 수 있을거에요.
감사합니다.