springboot 5

[SETTING] intellij에서 JAVA JDK 버전 바꾸기

intellij에서 JDK의 버전을 변경하는 방법을 알아본다. (본 게시물은 JDK 17버전에 설치되어 있음과 Gradle 사용 및 spring boot 3.2.0 버전 사용을 전제한다.) 1. Project Structure 설정 intellj에 접속한다. File → Project Structure에 들어간다. Project SDK에서 원하는 JDK 버전으로 바꿔주기 위해서 ▼ 모양의 화살표를 누른다. 원하는 JDK 버전을 클릭하고 우측 하단의 Apply를 누른 후 OK 버튼을 누른다. 2. Settings 설정 File → Settings에 들어간다. Build, Execution, Deployment → Build Tools → Gradle에 들어가서 Gradle JVM을 위에서 세팅해준 JDK ..

springboot 2023.11.30

[용어] profile

🥕 profile 이번에 프로젝트를 진행하면서 사용한 개념이 있다. 바로 profile! application.yml파일에 profile별로 구동 환경을 다르게 해서 개발을 진행했다. application.yml spring: config: activate: on-profile: local --- spring: config: activate: on-profile: aws local환경은 local로, 배포 환경은 aws라는 이름을 주었다. 즉, profile은 서버를 실행할 때 환경을 다르게 해주는 방법이다. 나는 local에서는 h2를, aws에서는 rds를 사용했다. local에서 h2를 사용한 이유는 h2는 memory에 데이터를 저장하는 경량 DB이므로 휘발성이다. 즉 우리는 코드에만 집중할 수 ..

springboot 2023.10.28

[JPA] @NotNull vs nullable = false

🎈 @NotNull vs nullable = false 은 무슨 차이가 있나? 유효성 검사를 프로젝트에 추가하려다가 코드를 보니, @Column(nullable = false, length = 20, name = "name") private String name; 위의 코드를 발견했다. @Column 어노테이션의 nullable 속성이 false로 되어있다. 프로젝트를 실행하면 이렇게 not null의 조건이 붙은채 테이블이 생성된다. 해당 필드를 @NotNull을 붙여서 변경해보자 @NotNull private String name; @PostMapping("/user") public void saveUser(@Valid @RequestBody UserCreateRequest request) { use..

springboot 2023.08.13

error-[errno: 150] "foreign key constraint is incorrectly formed"

상황 : mariaDB를 사용하여 테이블 구축. JPA의 연관관계에서 외래키 에러 발생 해결 : @Column(name = "user_id") 작성 @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "user_id") private Long id; } @JoinColumn(name = "user_id") @ManyToOne private User user; @GeneratedValue(strategy = GenerationType.AUTO) 어노테이션과 함께 @Id 어노테이션만 사용하여 엔티티의 기본 키를 지정하는 경우, user 테이블의 기본 키 컬럼 이름은 "id"가 된다. 그러나 ..

springboot 2023.08.06