분류 전체보기


☑️ 객체와 테이블 매핑@EntityJPA가 관리하는 객체임을 나태낸다Java 객체와 DB 테이블 간의 매핑 규칙을 정의한 클래스기본생성자를 반드시 가져야 한다 @NoArgsConstructor(access = AccessLevel.레벨)final 필드는 사용할 수 없다@Table엔티티와 매핑할 테이블 지정어노테이션 생략 시 엔티티 클래스 이름이 테이블 이름으로 사용된다☑️ 필드와 컬럼 매핑@Column필드와 컬럼을 매핑속성name : 필드와 매핑할 컬럼이름insertable, updatable : 등록, 변경 여부(기본 값은 True로 설정되어있음)nullable : null 허용여부 → flase 일 경우 Not Null 제약 조건이 붙는다unique : 컬럼에 간단히 유니크 제약조건을 걸 때 사용운..


☑️ ORM 이란?ORM(Object Relation Mapping) : 객체 관계 매핑객체와 DB 테이블을 매핑하여 데이터를 객체화 하는 프레임워크DB의 데이터를 프로그램에서 사용하는 객체(엔티티)로 변환객체는 테이블로 필드는 컬럼으로 매핑된다 ☑️ JPA 란? JPA(Java Persistence API)자바 진영에서 사용하는 ORM 기술Java ORM 기술에 대한 표준 명세 (표준명세 = 인터페이스 모음)객체 중심적 개발을 가능하게 해준다패러다임 불일치를 해결상속연관관계객체 그래프 탐색비교패러다임 불일치란?객체 모델과 데이터 베이스 모델이 지향하는 목적이 서로 달라 발생하는 문제객체는 객체지향적데이터 베이스는 데이터 중심적하이버 네이트(Hibernate)JPA에 대한 구현체영속성 컨텍스트JPA 기..


✅ 접근지시 제어자접근지시 제어자클래스 외부에서 클래스의 멤버변수, 메서드, 생성자를 사용할 수 있는지 여부정보은닉 (information hiding)private : 같은 클래스 내부에서만 접근 가능protected : 같은 package, 상속관계 클래스에서 접근 가능public : 클래스 외부 어디서든 접근 가능default : 같은 패키지 내부에서만 접근가능(상속 관계라도 패키지가 다르면 접근x)✅ getter, setter 메서드getter setterprivate로 선언된 멤버 변수에 대해 접근, 수정할 수 있는 메서드를 public으로 제공get() 메서드만 제공되는 경우 read-only 필드get(), set() 메서드를 사용하지 않고 open 하면 직접 멤버 변수에 접근하여 유효하지 ..


✅ 생성자(Constructor)생성자 객체 생성시에 필드의 초기화를 담당반환 값이 없고 클래스 이름과 동일클래스에는 반드시 적어도 하나 이상의 생성자가 존재 → “개발자가 직접 구현기본 생성자(Default Constructor)클래스에 생성자가 없는 경우 컴파일러가 컴파일시 코드에 주입해주는 생성자로 매개변수와 구현부가 없다생성자 예시 코드// 생성자 예시 코드public class Student { public int studentNumber; public String studentName; public int grade; // 직접 구현한 생성자 코드 public Student(int studentNumber, String studentName, int grade) { this.studentNu..


✅ 객체지향 프로그래밍(Object-Oriented Programming)객체지향 프로그래밍(OOP)객체지향 프로그래밍은 실세계(Real World)에 존재하고 인지하고 있는 객체(Object)를 소프트웨어의 세계에서 표현하기 위해 객체의 핵심적인 개념 또는 기능만을 추출하는 추상화(abstraction)를 통해 모델링하려는 프로그래밍 패러다임을 의미한다.객체 : 의사나 행위가 미치는 대상 혹은 구체적, 추상적 데이터 단위객체지향의 특징추상화캡슐화상속다형성(객체지향의 핵심) : 역할(인터페이스)과 구현(구현객체)을 명확히 분리 좋은 객체 지향 설계의 5가지 원칙(SOLID)SRP(Single Responsibility Principle) : 단일 책임원칙하나의 클래스는 하나의 책임만 가져야 한다 (모호..


[PostgreSQL]개념PostgreSQL : 오픈소스 객체 관계형 데이터베이스 관리 시스템(ORDBMS)특징PostgreSQL 초기화(initDB) 시 template0, template1, postgres 라는 3개의 Database가 생성된다template1 : 새로운 DB를 생성할 때 기본으로 사용되는 기본 템플릿 데이터베이스template0 : 새로운 DB를 생성할 때 기본 템플릿으로 사용될 수 있는 수정 불가능한 데이터베이스postgres : PostgreSQL 서버에서 관리 작업을 위한 기본 데이터 베이스로 사용[PostgreSQL Cluster Structure]Cluster : 하나의 PostgreSQL 서버 인스턴스가 관리하는 모든 DB와 관련된 자원들을 의미(클러스터 전체에 걸쳐 U..

원격 서버 접속하기 실행 환경 : M1 Mac원격 서버에 접속하기 위해서 다음과 같이 입력하면 접속 할 수 있다 # 접속하려는 원격 서버ssh User@127.0.0.1암호 입력 그런데 매번 접속하려는 원격 서버의 유저@호스트를 작성하는 것은 매우 귀찮은 일이다.따라서 내가 정한 이름으로 ssh [서버 이름] 으로 접속할 수 있는데 cd ~/.sshvi ./config 다음과 같이 커맨드를 입력하여 config 파일에 다음과 같은 정보를 입력하고 저장해준다 Host myserver # 내가 원하는 이름으로 접속하기 위한 이름 HostName 127.0.0.1 User example Port 22 # 필요한 경우 포트도 설정 해당 정보를 저장하고 나서 아래와 같이 입력하면 원격 서버로 접..


실행 환경 : M1 Mac1. Iterm2 실행 2. Iterm2 상단 메뉴에서 Iterm2 > Settings 이동 3. Profiles 탭 선택 4. Default 프로필 선택 후 Terminal 탭으로 이동하여 Mouse 섹션에서 Enable mouse reporting 체크 5. vi 설정 변경루트 경로로 이동cd ~ 설정 내용 추가(.vimrc 파일/ 없다면 만들기)vi ./.vimrc #vi 편집기로 이동set mouse=a #내용 추가 후 편집기 저장 후 나가기 source ./.vimrc #내용 추가한 부분 반영


✅ 자바의 유용한 클래스JAVA API Docshttps://docs.oracle.com/en/java/javase/index.html java.lang 패키지프로그래밍시 자동 임포트(import)많이 사용하는 기본 클래스들이 속한 패키지Object 클래스모든 클래스의 최상위 클래스java.lang.Object 클래스모든 클래스는 Object 클래스를 상속받고, Object 클래스의 메서드 중 일부는 재정의하여 사용 가능컴파일러가 extends Object를 자동으로 추가toString() 메서드객체의 정보를 문자열로 바꿔 사용할 때 사용String 혹은 Integer 클래스는 해당 메서드가 이미 재정의 되어 있음System.out.println()에 출력 값이 기본 타입이 아닌 객체를 사용시 객체의 t..