본문 바로가기

🤔Troubleshooting

(8)
@Transactional propagation이 동작하지 않는 문제 모든 코드는 github 에 있습니다. 들어가기 앞서... 다음과 같은 서비스 메서드가 있을 때, @RequiredArgsConstructor @Service public class HumanHandler { private final HumanRepository humanRepository; //passOneyear을 3번 호출한다. public void liveLife(Long humanId) { IntStream.rangeClosed(1, 3).boxed() .forEach(x -> passOneYear(humanId)); } //1살의 나이와 10cm의 키성장을 한다. @Transactional public void passOneYear(Long humanId) { Human human = huma..
Jenkins / Publish over SSH 사용시 파일전달 오류(No such file or directory) Publish over SSH에서 파일이 전달되지 않는 문제 이번에 프로젝트를 진행하면서 jenkins의 플러그인인 Publish over SSH를 사용하여 빌드된 파일을 web서버로 전송시킬 일이 있었습니다. 하지만 왠지 전송하고자하는 파일이 web서버로 넘어가지 않는 것 같았습니다. 이번 포스팅에서는 Publish over SSH를 세팅하면서 제가 겪었던 시행착오를 공유하려고 합니다. Publish over SSH 세팅 Publish over SSH에 대한 설명이나 사용법에 대해서는 생략하고 결과적으로 설정한 값들만 설명드리겠습니다. 전송하고자 web Server과 연결하기 먼저 Publish over SSH 플러그인을 설치하고 jenkins관리 > 시스템 설정으로 들어가 Publish over SS..
JPA 양방향 맵핑에서 주인이 정상적으로 동작하지 않는 이슈 🧐JPA 양방향 맵핑에서 주인이 정상적으로 동작하지 않는 이슈 jpa 공부를 하면서 양방향 맵핑을 간단하게 구현하고 테스트 해보았습니다. 👉👈양방향 맵핑 구현 Member.java @Getter @Setter @NoArgsConstructor(access = AccessLevel.PUBLIC) @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @ManyToOne @JoinColumn(name = "team_id") private Team team; @Builder public Member(String name, Team team) { ..
Failed to load ApplicationContext - 프로덕션 코드와 테스트 코드 sql문 다르게 실행하기 환경 웹 어플리케이션 프로젝트로 지하철 노선도를 만드는 프로젝트를 진행해보았다. 테스트 데이터를 매번 수작업으로 입력하는 것이 번거로워 resources 의 schema.sql 이라는 파일에 insert 쿼리로 데이터를 직업 입력해주었다. 이렇게 하니 어플리케이션을 실행하면 따로 데이터를 입력하지 않아도 insert 쿼리를 자동으로 실행되어 데이터가 들어가 있는 것을 확인할 수 있었다. 문제 하지만 문제는 테스트할 때였다. 만약 테스트에서 어떠한 데이터를 생성하는 과정이 있는데 그 과정에서 insert 쿼리의 내용과 충돌되는 부분이 있다면(혹은 다른 여러가지 이유로 문제가 발생할 수도) 에러가 발생하는 것이었다. Failed to load ApplicationContext 이를 해결하기 위해 테스트에서는..
백엔드에서 발생한 에러메세지, fetch API 로 받기 스프링을 공부하다가 백엔드에서 Exception이 발생할 때 에러 메시지를 프론트에서 받아오는 방법을 찾아보았다. 환경 @RestController public class LineController { ... @PostMapping("/lines") public ResponseEntity createLine(@RequestBody LineRequest lineRequest) { Line line = LineRequest.toLine(lineRequest); Line savedLine = lineService.save(line); return ResponseEntity.created(URI.create("/lines/" + savedLine.getId())) .body(savedLine); } ... @E..
Spring / Uncaught (in promise) TypeError: Failed to execute 'fetch' on 'Window' : Request with GET/HEAD method cannot have body. fetch api 를 이용하여 @RequestBody 와 @RequestParam 을 실습해보려고 했는데 왠일인지 그전에 오류를 만나게 되었다. 실습 환경 먼저 데이터를 전송하기위해 간단한 버튼하나를 만들었다. 데이터 전송 왼쪽의 '데이터 전송' 버튼을 누르면 { name : "홍길동" age : "13" } 의 데이터가 전송된다. 데이터를 받는 컨트롤러 또한 다음과 같이 구현해 주었다. 컨트롤러 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; @Cont..
springboot - No default constructor for entity 에러 Entity에 public으로 기본생성자를 추가해주니 문제해결
Springboot - 컨트롤러 리턴 문제 문제 springboot 를 공부하던중 controller 에서 리턴하는 페이지로 이동하지 않는 문제를 겪었다. 위와 같이 코드를 구현하고 resources > templates > index.html 파일을 만들었지만 해당 파일을 인식하지 못하고 오류가 나는 문제를 겪었다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-mustache' implementation 'org.springframework.boot:spring-boot-starter-web' developmentOnly 'org.springframework.boot:spring-boot-devtools' providedRuntime 'org.spring..