jpa
![[Spring boot] 열리는 port 번호 변경하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvWhIu%2FbtrOwCcqxvI%2FzolMG3ECCC0Kg8kFGOA1Nk%2Fimg.png)
[Spring boot] 열리는 port 번호 변경하기
Spring boot에서 port 번호 변경하는 법 버전 기준은 Gradle이다. src/main/resources/application.properties 위 해당 경로에서 간단하게 변경할 수 있다. 변경하고 실행을 해보면 Tomcat찡이 인식하여 변경해준다. Port 번호를 왜 바꾸나? 통상적으로 8080이 default로 되는 경우가 많은 거 같아, 프론트엔드와 통신할 때 충돌이 일어날 수도 있고, 다른 서버 애플리케이션과도 충돌이 일어나 피하고 싶은 마음에 바꾼 것이다.
![[Spring boot] @ManyToMany를 사용하면 안 되는 이유](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqYoOZ%2FbtrOlKbewZX%2FaXkKtNeURHq8rkcmVG0thK%2Fimg.png)
[Spring boot] @ManyToMany를 사용하면 안 되는 이유
@ManyToMany가 편리할 수도 있겠지만, 실무에서는 사용을 권장하지 않는다. 다대다이기에 중간 테이블에 컬럼을 추가할 수도 없고 세밀하게 쿼리를 사용하여 조회 및 변경하기 어려워진다. 또한 조인 쿼리를 날렸을 때 조인 테이블 자체에 위 테이블처럼 주문시간이나 수량 같은 부수적인 데이터 다루기가 어려워진다. 그리고 중간 중간 테이블이 숨겨져 있기 때문에 예상치 못한 쿼리들이 조회될 수도 있다. 그래서 해결 방법으로 위와 같이 중간 테이블을 생성하고 @OneToMany, @ManyToOne으로 일대다, 다대일 관계로 풀어내는 것이 제일 best라고 생각한다. 그래야 위 Member_Product처럼 회원의 FK, 상품의 FK를 조회하고 해당 회원의 한 상품 ID를 조회하여 꺼내올 수 있는 로직이 성립된..

JPA vs MyBatis 비교
JPA Java Persistence API 자바 진영의 ORM 기술 표준 구현체로는 Hibernate, EclipseLink, OpenJPA 등등 있는데 Hibernate가 가장 대중적이다. 여기서 ORM이란? Object-relational mapping (객체 관계 매핑)의는 약어 객체는 객체대로 설계 관계형 데이터베이스는 관계형 데이터베이스대로 설계 ORM 프레임워크가 중간에서 매핑 즉, ORM은 SQL문이 아닌 RDB에 데이터 그 자체를 매핑하기에 SQL을 직접 작성할 필요는 없다. 대중적인 언어에는 대부분 ORM 기술이 존재 MyBatis (Java Persistence Framework) 자바 진영의 오프젝트와 SQL 사이의 자동 매핑 기능을 지원하는 프레임워크이다. JDBC로 처리하는 상당..