반응형 [SpringBoot]54 SpringBoot Mysql프로젝트 Docker로 실행하기 사전 일단 스프링부트 프로젝트를 jar 파일로 내보내려고 ./gradlew build 를 입력하는데 자꾸 플러그인 관련 오류가 발생했다. 그건 build.gradle 파일에 가서 buildscript { ext { springBootVersion = '3.0.5' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } 이렇게 추가해줌으로써 해결했다. springBootVersion은 id 'org.springframework.boot' version '3.0.5' 이 부분과 같은 버전으로 설정해주면 해결된다!! 그리.. 2023. 4. 19. ManyToMany 관계에 데이터 추가(INSERT) 하기 User 테이블과 Marathon 테이블이 ManyToMany relationship을 갖고 있고 join table은 user_subscription 이라고 보자. // UserService @Transactional fun saveMarathon() { val user = userRepository.findById(userId).orElseThrow() // 유저 가져옴 val marathon = marathonRepository.findById(marathonId).orElseThrow() // 마라톤 가져옴 user.subscribedMarathons.add(marathon) // 유저가 마라톤 구독 } 이렇게 한 쪽에서만 저장하면 된다. 그러면 user_subscription 조인 테이블에 적용.. 2023. 4. 10. 유저와 게시글 N : M 에서의 Relation SpringBoot JPA를 설계할 때, 유저가 게시글에 좋아요를 누르는 기능을 구현할 수 있다. 이 때, 유저와 게시글은 N : M 관계가 되는데 User entity와 Post Entity를 ManyToMany 관계로 엮어서 자동으로 like라는 join table을 생성할 수 있고 User entity와 Like 테이블을 one to many, Post와 Like Table을 one to many 해서 동일한 효과를 기대할 수 있다. 이 둘의 차이는, 우리가 직접 join 테이블을 생성하느냐의 차이이다. 전자는 자동 생성이고 후자는 우리가 명시적으로 Like class를 따로 정의해서 entity를 명시적으로 정의한다. 후자의 경우의 장점은, 다른 필드들을 추가적으로 정의해줄 수도 있어서 확장성이 .. 2023. 4. 7. Ubuntu에 Docker 설치하기 sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg sudo mkdir -m 0755 -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$V.. 2023. 4. 7. 이전 1 2 3 4 5 6 7 ··· 14 다음 반응형