반응형 전체 글350 고급 매핑 2023. 02.07 15:00 복습 시작 고급 매핑 이번에는 상속 관계 매핑과 @MappedSuperclass에 대해 알아보겠다. 상속 관계 매핑 관계형 데이터베이스에는 객체지향 언어에서 다루는 상속이라는 개념이 없다. 대신 슈퍼 타입 서브타입 관계라는 모델링 기법이 객체의 상속 개념과 가장 유사하다. ORM에서 이야기하는 상속 관계 매핑은, 객체의 상속 구조와 데이터베이스의 슈퍼 타입 서브타입 관계를 매핑하는 것이다. 슈퍼 타입 서브타입 논리 모델을 실제 물리 모델인 테이블로 구현할 때는 3가지 방법을 선택할 수 있다. 각각 테이블로 변환 -> 조인 전략 통합 테이블로 변환 -> 단인 테이블 전략 서브타입 테이블로 변환 -> 구현 클래스마다 테이블 전략 이제 주요 어노테이션들을 살펴보고 각 전략들을 .. 2022. 3. 1. 2022.03.01 클린 코드 - 객체와 자료 구조 TIL (Today I LeTIL (Today I Learned) 2022.03.01 오늘 읽은 범위 6장. 객체와 자료구조 책에서 기억하고 싶은 내용을 써보세요. 구현을 감추려면 추상화가 필요하다. (p.119) 그저 조회 함수(Getter)와 설정 함수(Setteer)로 변수를 다룬다고 클래스가 되지는 않는다. 그보다는 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다. (p.119) 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. (p.119) 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. (p.119) 절차적인 코드는 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체 지향 코드.. 2022. 3. 1. String, StringBuilder, StringBuffer String 클래스에는 문자열을 저장하기 위해서 문자열 배열 참조 변수를 인스턴스 변수로 정의해놓고 있다. 인스턴스 생성 시 생성자의 매개변수로 입력받는 문자열은 이 인스턴스 변수에 문자형 배열에 저장되는 것이다. String VS StringBuilder, StringBuffer 차이 String 인스턴스가 갖고 있는 문자열은 읽어 올 수만 읽고, 변경할 수는 없다. 불변이다. (immutable) StringBuilfer, StringBuffer는 각각의 인스턴스에 저장된 문자열 변경이 가능하다. 가변적이다. (mutable) 즉 아래와 같이 '+'연산자를 이용해서 문자열을 결합하는 경우 인스턴스 내의 문자열이 바뀌는 것이 아니라 새로운 문자열 "ab"이 담긴 String 인스턴스가 생성되는 것이다... 2022. 3. 1. 2022.02.28 클린 코드 - 5장 형식 맞추기 TIL (Today I LeTIL (Today I Learned) 2022.02.28 오늘 읽은 범위 5장. 형식 맞추기 책에서 기억하고 싶은 내용을 써보세요. 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. (p.96) 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다. (p.96) 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막에는 가장 저 차원 함수와 세부 내역이 나온다. (p.98) 종속 함수. 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한 가능하다면 호.. 2022. 3. 1. 다양한 연관관계 매핑 (일대일, 다대다) 2023. 02.07 14:30 복습 시작 일대일 [ 1: 1 ] 일대일 관계는 아래와 같은 특징이 있다. 일대일 관계는 그 반대도 일대일 관계다. 테이블 관계에서 일대다, 다대일은 항상 다쪽이 외래 키를 가진다. 반면에 일대일 관계는 주 테이블이나 대상 테이블 둘 중 어느 곳이나 외래 키를 가질 수 있다. 주 테이블에 외래 키 주 객체가 대상 객체를 참조하는 것처럼 주 테이블에 외래 키를 두고 대상 테이블을 참조한다. 외래 키를 객체 참조와 비슷하게 사용할 수 있어서 객체지향 개발자들이 선호한다. 이 방법의 장점은 주 테이블이 외래 키를 가지고 있으므로 주 테이블만 확인해도 대상 테이블과 연관관계가 있는지 알 수 있다. 대상 테이블에 외래 키 전통적인 데이터베이스 개발자들은 보통 대상 테이블에 외래 키.. 2022. 2. 28. 다양한 연관관계 매핑 (다대일, 일대다) 2023. 02.07 14:00 복습 시작 다양한 연관관계 매핑 연관 관계 매핑 시에 고려해야 할 3가지가 있다. 다중성 단방향, 양방향 연관 관계의 주인 이 점을 유의하면서 다양한 연관관계들을 살펴보겠다. 다대일 단방향 먼저 다대일 [ N : 1 ]이다. 예시 코드는 아래와 같다. @Entity public class Member{ @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private String username; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; //getter, setter } @Entity public class Team{ @Id @Generated.. 2022. 2. 28. 이전 1 ··· 40 41 42 43 44 45 46 ··· 59 다음 반응형