jpa

    [Spring boot] 열리는 port 번호 변경하기

    [Spring boot] 열리는 port 번호 변경하기

    Spring boot에서 port 번호 변경하는 법 버전 기준은 Gradle이다. src/main/resources/application.properties 위 해당 경로에서 간단하게 변경할 수 있다. 변경하고 실행을 해보면 Tomcat찡이 인식하여 변경해준다. Port 번호를 왜 바꾸나? 통상적으로 8080이 default로 되는 경우가 많은 거 같아, 프론트엔드와 통신할 때 충돌이 일어날 수도 있고, 다른 서버 애플리케이션과도 충돌이 일어나 피하고 싶은 마음에 바꾼 것이다.

    [Spring boot] @ManyToMany를 사용하면 안 되는 이유

    [Spring boot] @ManyToMany를 사용하면 안 되는 이유

    @ManyToMany가 편리할 수도 있겠지만, 실무에서는 사용을 권장하지 않는다. 다대다이기에 중간 테이블에 컬럼을 추가할 수도 없고 세밀하게 쿼리를 사용하여 조회 및 변경하기 어려워진다. 또한 조인 쿼리를 날렸을 때 조인 테이블 자체에 위 테이블처럼 주문시간이나 수량 같은 부수적인 데이터 다루기가 어려워진다. 그리고 중간 중간 테이블이 숨겨져 있기 때문에 예상치 못한 쿼리들이 조회될 수도 있다. 그래서 해결 방법으로 위와 같이 중간 테이블을 생성하고 @OneToMany, @ManyToOne으로 일대다, 다대일 관계로 풀어내는 것이 제일 best라고 생각한다. 그래야 위 Member_Product처럼 회원의 FK, 상품의 FK를 조회하고 해당 회원의 한 상품 ID를 조회하여 꺼내올 수 있는 로직이 성립된..

    JPA vs MyBatis 비교

    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로 처리하는 상당..