목록[백엔드]/[spring+JPA | 이슈해결] (12)
개발자로 후회없는 삶 살기

서론 현재 진행하고 있는 백엔드 프로젝트에서 spring으로 작성된 어플리케이션 서버와 flask로 작성된 AI 서버를 통신하는 과정을 기록합니다. 본론 - spring to spring 문자열 주고 받기 로컬 호스트에서 서버 간 통신은 처음해보기도 하고 spring과 flask는 이미지를 주고 받을 것이라서 그 전에 spring와 spring을 먼저 연결해 봅니다. 1. 요청과 응답 DTO 객체 // 요청 객체 @Data public class RequestDTO { private String body; public RequestDTO(String body) { this.body = body; } public RequestDTO() { } } // 응답 객체 @Data public class Respo..

서론 DB에 데이터를 저장하기 위해서는 DB 컬럼 타입과 엔터티 필드 타입을 맞춰줘야 합니다. String을 varchar로 int를 integer로 맞추는 것을 의미합니다. @Enumerated(value = EnumType.STRING) 자바에서는 enum 타입이 있고 enum 타입의 데이터를 DB에 저장해야 할 필요가 있습니다. JPA에서는 이것을 어노테이션으로 해결할 수 있습니다. 그러면 JPA가 없으면 어떻게 해야 할까요? 이에 대해 알아봅니다. 본론 - 엔터티 필드 @Setter @Getter @ToString public class Item { private Long id; private String itemName; private int price; private int quantity; ..

서론웹 어플리케이션을 개발하면 롬복을 사용하게 됩니다. 이번에는 롬복이 @equalsAndHashcode를 제공하는 이유와 자바의 동일성, 동등성을 알아보겠습니다. 본론- 동일성과 동등성package hello.jdbc.domain;import lombok.Data;import lombok.Getter;import lombok.Setter;public class Member { private String memberId; private int money; public Member(String memberId, int money) { this.memberId = memberId; this.money = money; } public Member(String..

서론빈 검증 시 사용되는 3가지 어노테이션의 차이를 알아보겠습니다. 본론1. @NotNull@Datapublic class MemberSaveForm { @NotNull private String userName; @NotNull private String loginId; @NotNull private String password;}NotNull을 언제 붙이는지 알아봅니다. NotNull의 경우 필드에 null이 들어오면 바인딩 에러가 발생합니다. null이 아닌 ""(공백), " "(띄어쓰기)은 허가하는 3개 중에선 가장 약한 검증입니다. 1) 필드가 String 타입MemberSaveForm처럼 필드가 String 타입인 경우 input 태그에 아무 값도 입력하지 않으..