inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

26강 update method 에러 발생합니다

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

선생님이 해주신것과 똑같이 코드를 작성했는데 도서관리에서 사용자 이름을 수정하려고 하니 updateUser에서 optional 관련 에러가 발생합니다. Hibernate: select user0_.id as id1_0_0_, user0_.age as age2_0_0_, user0_.name as name3_0_0_ from user user0_ where user0_.id=? 2024-08-14 18:42:17.084 ERROR 37216 --- [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException] with root cause java.lang.IllegalArgumentException: null at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at com.group.libraryapp.service.user.UserServiceV2.updateUser(UserServiceV2.java:34) ~[main/:na] at com.group.libraryapp.controller.user.UserController.updateUser(UserController.java:32) ~[main/:na] db도 한번 삭제 후 다시 실행했는데 같은 에러가 발생하네요.. 이유와 해결방법이 궁금합니다..!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
조하영 댓글 3 좋아요 0 조회수 218

도애체 어디에서 오류가 난건지 모르겠습니다.

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

다음과 같이 코드를 했는데 24강까지 애플리케이션에서 잘 삭제되고, 잘 저장되었는데 25강이후 코드는 실행되는데 '나이'가 입력을 해도 00세로 나오고, 목록에서 삭제하려고하면 '서버내부 오류입니다'라고 뜹니다. 아래 질문에서 쉬운거는 편집된게 있다고 하는데 배우는단계에 있는 사람으로써는 그렇게 편집되면 많이 당황스럽네요...ㅜㅜㅜㅜㅜ 어디서 틀렸나요?ㅜㅜ UserResponse package com.group.libraryapp.dto.user.response; import com.group.libraryapp.domain.user.User; public class UserResponse { private long id; private String name; private Integer age; public UserResponse(long id, String name, Integer age) { this.id = id; this.name = name; this.age = age; } public UserResponse(User user) { this.id = user.getId(); this.name = user.getName(); } public UserResponse(long id, User user) { this.id = id; this.name = user.getName(); this.age = user.getAge(); } public long getId() { return id; } public String getName() { return name; } public Integer getAge() { return age; } } User package com.group.libraryapp.domain.user; import javax.persistence.*; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id = null; @Column(nullable = false, length = 20, name = "name") private String name; private Integer age; protected User() { } public User(String name, Integer age) { if (name == null || name.isBlank()) { throw new IllegalArgumentException(String.format("잘못된 name(%s)이 들어왔습니다.",name)); } this.name = name; this.age = age; } public String getName() { return name; } public Integer getAge() { return age; } //User class public Long getId() { return id; } public void updateName(String name) { this.name = name; } } UserRepository package com.group.libraryapp.domain.user; import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> { User findByName(String name); } UserController package com.group.libraryapp.controller.user; import com.group.libraryapp.dto.user.request.UserCreateRequest; import com.group.libraryapp.dto.user.request.UserUpdateRequest; import com.group.libraryapp.dto.user.response.UserResponse; import com.group.libraryapp.service.user.UserServiceV2; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController public class UserController { private final UserServiceV2 userServiceV2; public UserController(UserServiceV2 UserServiceV2) { this.userServiceV2 = UserServiceV2; } @PostMapping("/user") public void saveUser(@RequestBody UserCreateRequest request) { userServiceV2.saveUser(request); } @GetMapping("/user") public List<UserResponse> getUsers() { return userServiceV2.getUsers(); } @PutMapping("/user") public void updateUser (@RequestBody UserUpdateRequest request) { userServiceV2.updateUser(request); } @DeleteMapping("/user") public void deldteUser (@RequestParam String name) { userServiceV2.deleteUser(name); } } UserServiceV2 package com.group.libraryapp.service.user; import com.group.libraryapp.domain.user.User; import com.group.libraryapp.domain.user.UserRepository; import com.group.libraryapp.dto.user.request.UserCreateRequest; import com.group.libraryapp.dto.user.request.UserUpdateRequest; import com.group.libraryapp.dto.user.response.UserResponse; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; @Service public class UserServiceV2 { private final UserRepository userRepository; public UserServiceV2(UserRepository userRepository) { this.userRepository = userRepository; } public void saveUser(UserCreateRequest request) { User u = userRepository.save(new User(request.getName(), request.getAge())); //System.out.println(u.getId()); } public List<UserResponse> getUsers() { return userRepository.findAll().stream() .map(UserResponse::new) .collect(Collectors.toList()); } public void updateUser(UserUpdateRequest request) { User user = userRepository.findById(request.getId()) .orElseThrow(IllegalArgumentException::new); user.updateName((request.getName())); userRepository.save(user); } public void deleteUser(String name) { User user = userRepository.findByName(name); if (user == null) { throw new IllegalArgumentException(); } userRepository.delete(user); } } UserCreateRequest package com.group.libraryapp.dto.user.request; public class UserCreateRequest { private String name; private Integer age; public String getName() { return name; } public Integer getAge() { return age; } }

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
우잉 댓글 2 좋아요 0 조회수 295

문법질문입니다.

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

코드를 제가 잘 이해하고 따라가는지 궁금합니다. 질문1 리포지토리에서 활성화가 되어있는 프로젝트만 가져와서 projects에 리스트 형태로 넣어서 다시 ProjectDTO 형태로 넣어서 컨트롤러에서 처리하게끔 해주는건가요? 질문2 여기서 제가 이해한게 맞다면 return 할떄 projects.map 을 왜 이용하는건가요? map은 키와 값으로 이루어 져있는 배열로 알고있는데 ProjectDTO가 키와 값으로 이루어져서 그런건가요? 질문3 ProjectDTO(it) 여기서 말하는 it은 무엇을 의미하는지 알수있나요?

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 107

25강 findAll듣던중에

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

다음 첨부파일처럼 공유자께(첨부1)서는 public UserResponse(long id, User user) { } 가 있습니다. 그런데 저는 지금까지 쓴 코드에서 첨부파일(첨부2)처럼 저 코드부분이 없습니다. 몇강에서 놓친건가요

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
우잉 댓글 1 좋아요 0 조회수 96

25강 질문있습니다.

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

저장기능 변경에서 save를 하게 되면 저장된 User객체가 반환되는데 이때 id를 사용할 수도 있다.라고 했는데반환되는것이 User객체의 ID인건가요? 그리고 꼭 반환 안하고 처음에 작성했던 public void saveUser(UserCreateRequest request) { userRepository.save (new User(request.getName(), request.getAge())); } 이렇게 써도 되는건가요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
우잉 댓글 1 좋아요 0 조회수 86

25강 질문있습니다

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

JpaRepository를 UserRepository가 상속받게 해줄때, 만든 테이블의 매핑 객체인 User 와 유저 테이블의 id인 Long 타입을 각각 적어주어야 한다고 하셨는데 user객체는 이해가 가는데 갑자기 id인 Long타입은 왜 적나요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
우잉 댓글 2 좋아요 0 조회수 102

예제문제 추가 쿼리 질문

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

안녕하세요 공부하다가 쿼리에 추가해보고 싶은게 생겨서 질문드립니다! 예2: 서브카테코리가 '여성신발'인 상품중 할인가격이 가장 높은 상품의 할인가격 가져오기 이 문제에 정석 답변이라면 MAX(dis_price) 컬럼만 도출될텐데요! 앞에다가 해당 상품명 title을 추가해서 총 두 개의 컬럼이 나오게끔 만들어보려다가 막혀서 질문드립니다. 원래는 99000짜리 하나만 나와야하는데 밑에 쿼리로 하니까 여러개가 나와서요 ㅠㅠ 여러개가 나온 이유는 알거같아요 타이틀을 그룹바이해서 그 그룹별로 제일 높은 가격이 도출된 것 같은데 그건 제가 원하는 답은 아니어서요! 맥스 디스 프라이스를 가진 아이템코드의 타이틀을 어떻게 해야 효과적으로 도출할 수 있나요? SELECT title, MAX(dis_price) FROM items JOIN ranking on items.item_code = ranking.item_code WHERE sub_category = "여성신발" group by title;

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
dmsal0544 댓글 2 좋아요 0 조회수 233

14강. 유저 업데이트 API, 삭제 API 개발과 테스트 수정하기 안됨

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

코드대로 글을 잘 작성하고 POST,GET,DELETE도 전부 잘 동작하고 db에서도 확인이 되는데, 수정하기만 동작하지 않습니다..어떻게 해야할까요.. 수정하기 버튼을 누를시 아무런 화면의 변화가 없습니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
hsk7953 댓글 2 좋아요 0 조회수 210

sql 코딩 테스트에서 index 생성 가능 여부

해결됨

SQL 코딩테스트를 위한 첫 걸음

안녕하세요, 강의 감사합니다. leetcode 나 다른 코딩 테스트 플랫폼에서 응답시간을 짧게 하기 위해 create index 를 사용하는걸 지원하나요? 현재 leetcode 에서 create index 쪽이 계속 syntax error 가 나길래 혹시 막아둔건지 궁금합니다.

  • sql
  • mysql
  • 코딩-테스트
광전사 댓글 2 좋아요 1 조회수 350

섹션3 질문 있습니다

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요! 섹션3 마지막 부분쯤 나온 @Component 어노테이션에 대해 질문이 있습니다! 이 어노테이션은 다음과 같은 경우에 사용된다고 하셨는데요! 컨트롤러, 서지스, 리포지토리가 모두 아니고, 개발자가 직접 작성한 클래스를 스프링 빈으로 등록할 때 사용된다. 제가 궁금한 것은 Service 나 리포지토리 모두 우리가 직접 작성한 클래스 아닌가요?? 그러면 컴포넌트 어노테이션 아닌가요?? 답변해주시면 감사하겠습니다

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 118

주차별 데이터에서 전 주 데이터 가져오기

해결됨

장래쌤과 함께하는 쉽고 재미있는 SQL 이야기

안녕하세요, 질문드립니다! week. date. 값 31 2024-08-02 A 31 2024-08-03 A 32 2024-08-07 B 32 2024-08-08 C 위와 같이 주차별로 쌓여있는 테이블에서 현재 주차가 32주차라고 가정하면 32주차의 값을 가져오는게 아니라 저번주 차의 값을 가져오고싶습니다. 원래 대로라면 32주차 (B 값 1개) 가 분모가 되겠지만 31주차 (A 값 2개) 로 가져오고 싶습니다ㅠ 방법이 있을까요

  • sql
  • mysql
  • oracle
  • dbms/rdbms
  • mssql
hunter 댓글 1 좋아요 0 조회수 203

섹션3 컨트롤러테스트 오류

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

안녕하세요. 강의노트와 강의를 보면서 수정해 보았는데 resume에서만 test가 실패합니다. 제가 보기엔 resume가 JSON이 null이라서 그런것 같은데 어느 부분을 봐야할지 모르겠습니다. Datainitiallizer.kt를 봐도 잘 안보이네요. 아래는 에러 메세지와 코드입니다. java.lang.NullPointerException: Cannot invoke "org.json.JSONArray.length()" because the return value of "org.json.JSONObject.optJSONArray(String)" is null at com.dogu.portfolio.presentation.controller.PresentationApiControllerTest.testGetResume(PresentationApiControllerTest.kt:66) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) @Test @DisplayName("resume") fun testGetResume() { //given val uri = "/api/v1/resume" //when val mvcResult = performGet(uri) val contentAsString = mvcResult.response.getContentAsString(StandardCharsets.UTF_8) val jsonObject = JSONObject(contentAsString) //then Assertions.assertThat(jsonObject.optJSONArray("experiences").length()).isPositive() Assertions.assertThat(jsonObject.optJSONArray("achievements").length()).isPositive() Assertions.assertThat(jsonObject.optJSONArray("skills").length()).isPositive() }

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
Lerna 댓글 1 좋아요 0 조회수 161

26강 오류입니다 !

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

Execution failed for task ':LibraryAppApplication.main()'. > Process 'command 'C:/Program Files/Java/jdk-11/bin/java.exe'' finished with non-zero exit value 1 이것은 어떤 에러일까요 ㅠㅠ

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
쿵야 댓글 2 좋아요 0 조회수 131

aws 비용관련 문의

해결됨

인프라공방 - 그럴듯한 서비스 만들기

학습을 진행하다보니 aws에서 비용청구가 계속해서 진행되고있는데요. ㅠㅠ ec2의 비용청구를 중지하려면 인스턴스만 끄면 해결이 되는 문제일까요? 아니면 설정했던 모든 부분에 대한 삭제가 진행되어야 할까요?

  • 네트워크
  • linux
  • aws
  • mysql
  • spring-boot
홍프로 댓글 1 좋아요 0 조회수 304

char vs varchar 타입에 궁금한 점이 있습니다.

해결됨

Real MySQL 시즌 1 - Part 1

varchar 타입의 경우 데이터 업데이트시 파편화가 생길 수 있다는 점을 이해했습니다! 다만, char 타입을 쓰면 좋은 경우가 문자열의 길이가 가변성이 크지 않은 경우라고 한다면 varchar의 경우에도 길이 가변성이 크지 않은 탓에 처음부터 선언해둔 길이를 벗어나지 않을 가능성이 클 거 같다는 생각이 들었습니다. 만약 주민등록번호라고 한다면 13자리니까 char(13)로 하거나 varchar(13)해도 이 자리수를 넘어가지 않을 것이고 자주 업데이트 되는 경우라고 해도 char도 그렇고 varchar도 그렇고 길이수만 잘 잡아놓으면 fragmenation 문제가 없는 것이 아닌지 궁금합니다. 그럼에도 char를 쓰는 것이 더 좋은 이유가 있을지 궁금해서 질문남깁니다!

  • mysql
  • dbms/rdbms
  • backend
  • query-tuning
  • mysql-query
Jung Cheol 댓글 2 좋아요 0 조회수 247

19강 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

1. 유저 컨트롤러에서 jdbc를 설정해준적이 없다고 하셨는데 여기서 jdbc클래스설정 이라는게 무슨말인가요? jdbc에 대한 생성자를 말하는건가오? 생성자를 설정안해 줘서 탬플릿을 설정안해준거라면 userservice나 userRepositry 모두 다 템플릿에 대해 설정 안해줬는데 저 둘은 스프링빈도 아닌데 어떻게 jdbc템플릿 가져온건가요

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
우잉 댓글 1 좋아요 1 조회수 139

특정 부서에서 최대 연봉을 가진 사용자 조회 sql 쿼리 질문

미해결

비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)

안녕하세요, 좋은 강의 감사합니다. 제공해 주신 쿼리에 대해 질문이 있는데요, 제 생각에는 아래 쿼리가 특정 부서에서 최대 연봉을 가진 사용자를 조회하는게 아닌, 전체 부서에서 최대 연봉이 x 라고 하면, 세 부서에서 그 값이 있으면 출력하는 문인것 같은데, 제가 어느 부분에서 헷갈린 건지 알려주시면 감사하겠습니다. SELECT * FROM users WHERE salary = (SELECT MAX(salary) FROM users) AND department IN ('Sales', 'Marketing', 'IT'); SELECT MAX(salary) FROM users 는 users 테이블의 최대 salary 를 가져오는것이고, 괄호 밖의 department In (...) 은 부서 세개, 그리고 salary = (SELECT MAX ...) 와 함께 저 salary 에 해당 하는 users 가져오는 것이 아닌가요? 제가 sql 초보라 양해 해주시면 감사하겠습니다 ...

  • sql
  • mysql
  • dbms/rdbms
  • query-tuning
광전사 댓글 1 좋아요 4 조회수 265

스프링부트,Mysql작업시 빌드

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

안녕하세요 강의 듣다 궁금한 점이 생겨서 질문 남깁니다 ! 스프링 부트,mysql 을 이용하여 프로젝트 작업 진행하기 위해 작업 진행전 docker로 초기 환경 세팅을 하고 두가지 동시에 띄우는 작업을 했습니다! 도커 연결전에는 IDE에서 run버튼을 눌러 작업 확인을 했었는데, 지금은 빌드 하고, compose up해서 확인을 해야하는걸까요? run버튼 누르니까 에러가 뜹니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
  • springboot
  • mysql
새벽노트 댓글 1 좋아요 0 조회수 293

여유가 되신다면 mmorpg의 꽃, 레이드관련 강의 요청드려도 될까요

미해결

[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)

용가리가 브레스 쾅 발구르기 낙석 쿠과광 마지막 발악패턴 비늘탄막 슈슈숭 난관을 넘어 던전에서 쌓여가는 우정! 상상으로도 가슴뛰는 컨텐츠인데 너무 무리한 부탁이겠지유

  • C#
  • unity
  • mysql
  • MMORPG
  • ef-core
  • asp.net-web-api
흑연 댓글 3 좋아요 0 조회수 395

mutableListOf

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

강의를 들으면서 코틀린 문법도 같이 병행하면서 듣고있는데 이부분 질문을 하고 싶습니다! mutableListOf 로 감싸줘서 넣어져야지 코드가 오류 없이 되는지 궁금합니다. jpa 특성상 그런건가용?

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 162

인기 태그

인프런 TOP Writers

주간 인기글