소개
게시글
질문&답변
Spring Cloud OpenFeign 부터 계속 DTO쪽 에러가 발생하는데 원인을 모르겠습니다.
안녕하세요. 상세한 설명 감사합니다.제가 깃허브 공유하려고 실습프로젝트를 옮기기 또 잘되고 그러네요.우선 깃허브 url 공유하겠습니다. application.yml 에서 카카오 클라이언트 id, secret 이랑 loginForm client_id=이부분만 삭제했습니다.
- 0
- 2
- 646
질문&답변
3:40 부분 activeProfiles에 dev 출력과 로그 출력이 안 됩니다
application-dev.properties 기본 포트가 8081 이어서http://localhost:8080/api/health/feign-test 로 하면 에러가 나오지 않나요..?
- 1
- 2
- 285
고민있어요
QueryDSL 5.0 버전 gradle 설정 공유합니다. (TREATED_PATH 발생시)
- 1
- 2
- 3.5K
질문&답변
안녕하세요. 간단한 인텔리제이 질문이 있습니다.
감사합니다. 혹시나 저와 같은 증상이 있는분을 위해 공유합니다. (사진) Editor > Code Style > Java > Code Generation 탭 > Final Modifier 에서 체크 풀면됩니다.
- 0
- 2
- 499
질문&답변
Caused by: org.postgresql.util.PSQLException: Large Objects may not be used in auto-commit mode. 의 원인을 잘 모르겠습니다..
자문자답입니다. 이 다음 강의 이어서 진행했는데 해결이 되었습니다.
- 0
- 1
- 573
질문&답변
안녕하세요. query에 대해 질문이 있습니다.
안녕하세요 강사님. JPA부터 다시 복습하고 오느냐 우선 중단하고 다시 연관관계부터 하면서 좀 늦었습니다 ! 위에 제가 질문했던 size에 관한건 이해가 다 됐습니다 ! 근데 다른 질문이 있습니다. 제가 사전 데이터를 이렇게 집어 넣었구요. 강사님꺼 전에 강의 다시 들어보면서 참고 많이 되었습니다. 그래서 쿼리를 보면 /* select professor from Professor professor where professor.username = ?1 or professor.position like ?2 escape '!' */ result = [Professor(id=5, userid=null, position=교수, sal=0, hiredate=null), Professor(id=6, userid=null, position=교수, sal=0, hiredate=null)] 이렇게 result로 출력결과 봤을 때 '교수' 라고 되어 있는 값만 나오는것도 확인을 했습니다. 그리고 공부하다 보니 like vs contains 에 대해도 알게 되었습니다. @Testvoid dynamicQuery4() throws Exception { String nameParam = "공학"; String nameParam2 = "공학"; ListDepartment> result = searchDepartment4(nameParam, nameParam2); System.out.println("result = " + result);}private ListDepartment> searchDepartment4(String nameCond, String locCond) { return queryFactory .selectFrom(department) .where( departmentEq(nameCond) .or(departmentLike(locCond))) .orderBy(department.id.desc()) .fetch();}private BooleanExpression departmentEq(String nameCond) { return nameCond != null ? department.name.eq(nameCond) : null;}private BooleanExpression departmentLike(String locCond) { return !StringUtils.hasText(locCond) ? null : department.loc.contains("공학");} 1) 여기서 제가 궁금한건 검증작업을 assertThat 으로 작성해서 할 때 교수라는 position 만 가지고 있는 사람만 OK 하고 싶은데요. 이걸 찾아보니 이렇게 하면 professor1, professor2 이쪽에 오류가 발생해서 이렇게 하는건 아닌거 같아서 assertThat(result).filterOn(professor) ' , 'QProfessor' 이렇게 밖에 안나오더라구요. 그래서 어떤방법으로 해야되는지 잘 모르겠습니다. assertThat(result).extracting("position").containsExactly(professor1, professor2); @BeforeEachvoid before() throws Exception { queryFactory = new JPAQueryFactory(em); Department departmentA = new Department("정보통신공학과", "101호"); Department departmentB = new Department("컴퓨터공학과", "102호"); Department departmentC = new Department("음악과", "103호"); Department departmentD = new Department("국어국문과", "104호"); em.persist(departmentA); em.persist(departmentB); em.persist(departmentC); em.persist(departmentD); Professor professor1 = new Professor("김교수", "교수", departmentA); Professor professor2 = new Professor("박교수", "교수", departmentA); Professor professor3 = new Professor("조교수", "부교수", departmentB); Professor professor4 = new Professor("최교수", "부교수", departmentC); Professor professor5 = new Professor("이교수", "전임강사", departmentD); em.persist(professor1); em.persist(professor2); em.persist(professor3); em.persist(professor4); em.persist(professor5);} @Testvoid dynamicQuery3() throws Exception { String nameParam = "김교수"; String positionParam = "교수"; ListProfessor> result = searchDepartment3(nameParam, positionParam); assertThat(result.size()).isEqualTo(2); System.out.println("result = " + result);}private ListProfessor> searchDepartment3(String nameCond, String positionCond) { return queryFactory .selectFrom(professor) .where( nameEq(nameCond) .or(positionLike(positionCond))) .fetch();} private BooleanExpression nameEq(String nameCond) { return nameCond != null ? professor.username.eq(nameCond) : null;} private BooleanExpression positionLike(String positionCond) { return !StringUtils.hasText(positionCond) ? null : professor.position.like(positionCond);} 2) 여기서 like 와 contains 의 차이점도 알게되었는데요. 여기서 결과값을 보면 result = [] 아무것도 안나오는데 이유를 잘 모르겠습니다..! @Testvoid dynamicQuery4() throws Exception { String nameParam = "공학"; String nameParam2 = "공학"; ListDepartment> result = searchDepartment4(nameParam, nameParam2); System.out.println("result = " + result);}private ListDepartment> searchDepartment4(String nameCond, String locCond) { return queryFactory .selectFrom(department) .where( departmentEq(nameCond) .or(departmentLike(locCond))) .orderBy(department.id.desc()) .fetch();}private BooleanExpression departmentEq(String nameCond) { return nameCond != null ? department.name.eq(nameCond) : null;}private BooleanExpression departmentLike(String locCond) { return !StringUtils.hasText(locCond) ? null : department.loc.contains("공학");} 1) DDL CREATE TABLE DEPARTMENT ( int(4) deptno NotNULL PRI varchar(16) dname NotNULL varchar(100) loc ) CREATE TABLE PROFESSOR ( int(11) profno NotNull PRI varchar(50) name NotNull varchar(50) userid NotNull varchar(20) position NotNull int(10) sal NotNull datetime hiredate NotNull int(11) comm int(11) deptno NotNull MUL ) 3) 원하는 최종 SELECT SQL SELECT deptno, dname, loc FROM department WHERE dname LIKE conat('%', '공학', '%') ORDERY BY deptno DESC 입니다. 감사합니다.
- 0
- 4
- 878
질문&답변
안녕하세요. query에 대해 질문이 있습니다.
안녕하세요. 강사님 제가 개인적으로 해보다가 질문이 있어서 다시 남기게 되었습니다. 제가 이런식으로 해보았는데요. 쿼리도 /* select department from Department department where department.name = ?1 or department.name = ?2 or department.name = ?3 or department.name = ?4 or department.loc = ?5 */ 이렇게 다 나가구요. /* select department from Department department where department.name = '컴퓨터공학과'1 or department.name = '정보통신공학과'2 or department.name = '음악과'3 or department.name = '국어국문과'4 or department.loc = '104호'5 */ 이렇게 해서 assertThat(result.size()).isEqualTo(5)); 로 하면 org.opentest4j.AssertionFailedError: expected: 5 but was : 4 Expected :5 Actual :4 4라고 나오더라구요. 저는 왜 4인지 잘 모르겠습니다. ㅜ 감사합니다. @Testvoid testDepartment() throws Exception { String nameParam1 = "컴퓨터공학과"; String nameParam2 = "정보통신공학과"; String nameParam3 = "음악과"; String nameParam4 = "국어국문과"; String locParam = "104호"; ListDepartment> result = searchDepartment(nameParam1, nameParam2, nameParam3, nameParam4, locParam); assertThat(result.size()).isEqualTo(5);}private ListDepartment> searchDepartment(String nameParam1, String nameParam2, String nameParam3, String nameParam4, String locParam) { BooleanBuilder builder = new BooleanBuilder(); if (nameParam1 != null) { builder.or(department.name.eq(nameParam1)); } if (nameParam2 != null) { builder.or(department.name.eq(nameParam2)); } if (nameParam3 != null) { builder.or(department.name.eq(nameParam3)); } if (nameParam4 != null) { builder.or(department.name.eq(nameParam4)); } if (locParam != null) { builder.or(department.loc.eq(locParam)); } return queryFactory .selectFrom(department) .where(builder) .fetch();}
- 0
- 4
- 878
질문&답변
강사님 QueryDSL이 안됩니다..
안녕하세요. 강사님 강의 도중 질문이 있어서 문의드립니다.~ OrderRepository 랑 OrderService 수정 후에 주문 내역부분에 서 500에러가 발생합니다. 그래서 확인해보니 템플릿 파싱 에러라고 하는데 이런 경우에는 어디쪽을 살펴보면 괜찮을까요? There was an unexpected error (type=Internal Server Error, status=500). An error happened during template parsing (template: "class path resource [templates/order/orderList.html]") org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/order/orderList.html]") Exception processing template "order/orderList": An error happened during template parsing (template: "class path resource [templates/order/orderList.html]") (사진) (사진) (사진) 감사합니다.
- 0
- 3
- 6K
질문&답변
postman에서 400 에러가 발생합니다.
(사진) 안녕하세요 강사님. 처음에 강의에 나온대로 했는데도 같은 증상입니다. ㅜ 그리고 처음 스크린샷은 10:19 에 나오는대로 "id": 2 가 나오게 할려고 했었습니다.
- 0
- 3
- 1.1K
질문&답변
영상 06:09쯤 단축키가 궁금합니다.
안녕하세요. 아이고.. 제가 6:09 초에 있는걸 17:10 이라고 잘못썼네요 ㅎㅎ;;
- 0
- 2
- 234