본문 바로가기

Backend4

[JPA] 1:N 관계 테이블의 특정 컬럼 조회 Introduction 1:N 관계의 두 테이블이 존재하고 두 테이블 사이의 외래 키가 존재할 때, 해당 외래 키를 기준으로 특정 컬럼의 값들을 JPA를 통해 가져오려면 어떻게 해야 하는지 알아보려고 한다. 1: N 관계 설정 먼저 외래키 sub_id를 가지고 있는 1대 N 관계는 다음과 같이 설정을 해준다. 1 엔티티 public class Subscribe { @Id @Column(name = "sub_id") private Long id; ~ } N 엔티티 public class How_sub { ~ @ManyToOne @JoinColumn(name = "sub_id") private Subscribe subscribe; } public interface HowSubRepository extends.. 2023. 8. 4.
[NodeJS] CORS 에러 해결 Introduction 프론트에서 nodeJS 서버의 API에 요청할 때 발생하는 CORS 에러와 해결책을 알아보려 한다. 회원가입 페이지를 구현하던 중, 회원 정보를 nodeJS로 전달할 때 다음과 같은 에러가 발생했다. CORS란? 먼저 이런 CORS가 등장한 이유는 SOP(동일 출처 정책) 때문이다 SOP는 동일한 출처의 리소스만 접근 가능하도록 하는 정책이다. 따라서 다른 출처의 리소스는 접근할 수 없다. ☞ 여기서 동일 출처란, 두 url의 프로토콜, 포트, 호스트(도메인)가 모두 같은 경우를 말한다. http://localhost:3000/auth/join 의 경우 ① 프로토콜: http ② 호스트(도메인): localhost ③ 포트: 3000 이며, 이 세 가지가 모두 일치해야 동일 출처라.. 2023. 2. 15.
[NodeJS] MySQL 과 연동 먼저 mysql 에서 스키마와 테이블을 만들어준다. mysql2 모듈을 설치한다. npm install mysql2 mysql2 모듈을 가져온 후 객체 형태로 데이터베이스의 기본 정보를 설정해준다. const mysql = require('mysql2'); const conn = { host: 'localhost', user: 'root', port: '3305', database: 'test', password: '설정한 비밀번호' }; mysql2이 아닌 mysql 모듈을 사용하면 발생하는 에러 → 찾아보니 mysql 비밀번호를 설정해주면 된다고 하는데 해도 자꾸 에러가 나서 그냥 처음부터 mysql2 모듈 사용! 데이터베이스 커넥션을 생성하고 해당 데이터베이스에 접근한다. const connecti.. 2023. 2. 15.
[NodeJS] Node 서버 생성 client 와 server client가 특정 domain으로 접근할 경우, client는 server에 요청(request)을 보내고 server는 client에 응답(response)을 보낸다. http 모듈 HTTP(HyperText Transfer Protocol)는 TCP/IP를 기반으로 둔 프로토콜 HTTP 웹 서버와 클라이언트를 생성하는 것과 관련된 모든 기능을 담당한다. //http 모듈 불러오기 const http = require('http'); server 객체 1. server.listen(port\[, callback\]) 2. server.close(\[callback\]) //server 생성 const server = http.createServer(); //서버를 종료하지.. 2023. 2. 14.