JPA를 사용하는데 있어서 가장 중요한 것은 엔티티와 테이블을 정확히 매핑시키는 것이다. 따라서 매핑 어노테이션을 잘 숙지하고 사용할 수 있어야 한다. 다양한 매핑 어노테이션을 지원하는데, 크게 4가지로 분류할 수 있다. 객체와 테이블 매핑: @Entity, @Table 기본 키 매핑: @Id 필드와 컬럼 매핑: @Column 연관관계 매핑: @ManyToOne, @JoinColumn 1. @Entity @Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라 부른다. 속성 기능 기본값 name JPA에서 사용할 엔티티 이름을 지정한다. 보통 기본값인 클래스 이름을 사용한다. 설정하지 않으면 클래스 이름을 그대로 사용한다. 1-1 @Entity 적용 시 주의해야할 사항 기본 생성자는 필수다.(예..
1. Entity간의 연관관계(방향) 이란? DB에서는 관계를 맺어주기만 하면 양방향 참조가 가능하다. 하지만 객체(Entity)간의 클래스는 참조방향을 지정해줘야 한다. 어떤 방향성을 고려해야하는건 굉장히 중요하다. 2. 방향을 가져야하는 이유 객체지향적인 관점에서 A클래스와 B클래스가 연관관계일때, A클래스는 B클래스를 사용하게되고 이런 경우에 방향성을 갖게 된다. 하지만 방향성을 남발하면 성능에 문제가 갈 수 있다. 예시로, 게시판을 구현하고 한 명의 사용자가 수십개의 게시판의 글을 작성했고, 회원클래스가 게시판클래스의 방향을 갖는 경우 회원의 게시판을 불러 오면 DB에 무리가 갈 수 있다. (그래서 다른 방법으로 Repository 페이징 기능을 구현한다.) 그래서 가능한 단방향으로 구현 → 양방..
0. 개요 Spring으로 개발하다보면 Bean이라는 개념이 나온다. 대부분 annotation이라고 생각하지만, 막상 의미를 정의하라고 하면 헷갈리는 경우가 많다. 그래서 Bean에 대한 개념을 명확하게 정리해보고자 한다. 1. Java Bean Java Bean은 특정 형태의 클래스를 가리킬 때 사용된다. DTO형태가 Java Bean이라고 생각하면 쉽다. 필드는 private만 구성되어 getter와 setter로만 접근 할 수있고, 전달 인자가 없는 생성자를 가지는 클래스이다. getter / setter public의 no-argument 생성자 모든 필드는 private로 getter와 setter를 통해서만 접근이 가능 코드로 보면 이해가 쉽다 public class AboutJavaBean..
- Total
- Today
- Yesterday