Jpa 연관관계

jpa 연관관계 객체의 연관관계는 단방향 관계이다. 하지만 데이터베이스는 양방향 관계다. A -> B 객체밖에 접근만 가능하지만 데이터 베이스는 A B 둘다 가능하다. class A { B b; } class B{ } 일반적으로 쓰는 단방향 연관관계다. class A { B b; } class B { A a; } 양방향 연관관계다. 정확하게는 서로 다른 단방향 관계 2개다. @ManyToOne 다대일 관계 매핑 정보다. 글로벌 페치 전략을 설정 할 수 있다. 즉시로딩, 지연로딩 @JoinColumn.. Read More

Jpa 엔티티 매핑

jpa 엔티티 매핑 간략하게 정리만 해보겠다. 나머지는 책을 사서 읽어보도록! @Entity JPA에서 사용할 엔티티 이름을 지정한다. 설정을 하지 않으면 클래스 그대로를 사용한다. 기본생성자는 필수로 지정해애 된다. private 은 안된다. @Table 엔티티와 매핑할 테이블을 지정하고 생략하면 매핑한 엔티티 이름 그대로를 사용한다. 유니크 제약 조건을 속성으로 지정 할 수 있다. @Enumerated 자바의 enum을 사용할 때 정의한다. @Temporal 날짜 타입을 사용할 때 정의한다. TempoarlType.TIMESTAMP, TempoarlType.DATE, TempoarlType.TIME 등으로 지정 할 수 있다. @Lob 필드의.. Read More

spring data jpa 의 jsonfilter

spring data jpa 의 jsonfilter 이번엔 spring data jpa의 json 으로 보내기위한 방법을 한개더 포스팅 하겠다. jsonfilter 라는 어노테이션을 사용하여 해보자 소스는 dto와 비슷하다. 다른 부분만 올려서 설명하겠다. jsonfilter는 jackson 라이브러리의 어노테이션이다. 일단 entity에 jsonfilter를 추가하자 @Entity @Data @NoArgsConstructor @AllArgsConstructor @JsonFilter(“accountFilter”) public class Account { @Id @GeneratedValue @Column(name = “account_id”) private Long id; @NotNull private String name; @OneToMany(mappedBy = “account”) private List<Ordered> ordered; } 기존 소스와 동일하지만 JsonFilter 어노테이션만 추가.. Read More