본문 바로가기

프레임워크36

[JPA] 다대일 [N:1] 일대일 [1:1] 다대다 [N:M] 다대일 단방향 정리 • 가장 많이 사용하는 연관관계 다대일 양방향 정리 • 외래 키가 있는 쪽이 연관관계의 주인 • 양쪽을 서로 참조하도록 개발 일대다 단방향 정리 • 일대다 단방향은 일대다(1:N)에서 일(1)이 연관관계의 주인 • 테이블 일대다 관계는 항상 다(N) 쪽에 외래 키가 있음 • 객체와 테이블의 차이 때문에 반대편 테이블의 외래 키를 관리하 는 특이한 구조 일대다 양방향 정리 • 이런 매핑은 공식적으로 존재X • @JoinColumn(insertable=false, updatable=false) • 읽기 전용 필드를 사용해서 양방향 처럼 사용하는 방법 • 다대일 양방향을 사용하자 일대일 정리 주 테이블에 외래 키 • 주 객체가 대상 객체의 참조를 가지는 것 처럼 주 테이블에 외래 키를 두고.. 2023. 4. 5.
[JPA] 연관관계 매핑 (단방향, 양방향) 위에 그림을 보면 객체를 테이블에 맞추거 모델링 한 경우인데 현재 회사에서 주로하는 JPA를 사용하지않고 있어서 주로 하는 방법인데 김영한의 JPA강의를 듣고 뭔가 잘못된다는 것을 알게 되었습니다. meber객체로 team정보를 찾으려고면 외래키를 직접 다루기 때문에 식별자로 한번더 조회를 해야 한다. 객제지향 방법과는 상당히 거리가 있다. JPA를 사용하면 이런한 문제를 아주 쉽게 해결 할 수 있다. 바로 단방향 연관관계다. 테이블 설계는 위의 그림과 동일하다. 단방향 @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; private int age; .. 2023. 4. 2.
[Mybatis] postgreSql 프로시저(Procedure) 호출하기 이런 프로시저가 있다고 가정하겠습니다. DB는 postgreSql 입니다. CREATE OR REPLACE PROCEDURE public.prc_new_class_certificate_num ( p_certificate_year character varying, p_emp_type character varying, p_learn_type_cd character varying, p_certificate_issue_user character varying, p_certificate_user_id character varying, p_class_seq numeric, p_course_seq numeric ) LANGUAGE plpgsql AS ... 프로시저 마이바티스에서 사용하는 방법 CALL PROCEDU.. 2023. 3. 16.
[SpringBoot] 라이브러리 관리 스프링부트는 라이브러리들을 편리하게 사용할 수 있게 다양한 기능들을 제공한다고 합니다. 외부 라이브러리 버전 관리 스프링 부트 스타터 제공 이런 기능들이 없으면 수 많은 라이브러리를 직접 버전까지 골라서 선택해야 하고 라이브러리들 간에 서로 호환이 잘 되는지 확인도 해야하는 까다로운도 있다. dependencies { //2. 스프링 부트 라이브러리 버전 관리 //스프링 웹, MVC implementation 'org.springframework:spring-webmvc' //내장 톰캣 implementation 'org.apache.tomcat.embed:tomcat-embed-core' //JSON 처리 implementation 'com.fasterxml.jackson.core:jackson-dat.. 2023. 3. 11.