객체와 테이블 매핑 @Entity @Entity가 붙은 클래스를 엔티티라 부른다. 테이블과 매핑할 클래스에 붙는다. 기본 생성자(파라미터가 없는 생성자)는 필수다. @Table 엔티티와 매핑할 테이블을 지정 ex) Table(name="MEMBER") 생략하면 엔티티 이름을 테이블 이름으로 사용한다. 기본 키 매핑 직접 할당 전략 : 기본 키를 애플리케이션에서 직접 할당한다. @Id @Column(name = "Id") private String id; Board board = new Board(); board.setId("id1");//기본 키 직접 할당 em.persist(board); 자동 생성 전략 : 대리 키 사용 방식 IDENTITY : 기본 키 생성을 데이터베이스에 위임 ex) MySQL @..
Entity Manager Factory Entity Manager를 만드는 공장 만드는 비용이 크기 때문에 애플리케이션 전체에서 하나만 만들어서 공유하도록 설계 Entity Manager 만드는 비용이 거의 들지 않는다. 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드 간에 절대 공유하면 안 된다. 영속성 컨텍스트(persistence context) Entity Manager를 생성할 때 하나 만들어진다. Entity Manager를 통해 영속성 컨텍스트에 접근하고 관리한다. 영속성 컨텍스트는 Entity를 식별자 값으로 구분하기 때문에 식별자 값이 반드시 있어야 한다. transaction을 commit하는 순간 영속성 컨텍스트에 저장된 entity를 데이터베이스에 반영한다.(flus..
brew tap AdoptOpenJDK/openjdk brew search jdk brew install --cask adoptopenjdk11 자바 설치 확인 java --version 참고 homebrew로 openjdk 설치하기 Software Developer, I love code. findstar.pe.kr Mac에서 Open JDK 설치하기 기초중의 기초지만 운영체제가 바뀌면 어리둥절하기 마련이죠! 맥에 JDK를 설치하는 방법이 있지만, 이번엔 홈브류HomeBrew를 통해 빠르게 설치해보려고 합니다. 홈브류란 npm의 애플 버전이라고 timevoyage.tistory.com
1. 공식 홈페이지에서 설치 명령어 복사 brew.sh/index_ko 2. 터미널 실행 후 복사한 명령어 붙여넣고 실행 3. 환경 변수 설정 zsh 설정 파일을 열어서 vi ~/.zshrc 아래 내용을 추가하고 저장한다. export PATH="/opt/homebrew/bin:$PATH" 4. 터미널을 종료 후 재실행 5. Homebrew 설치 확인 brew doctor "Your system is ready to brew." 이라 나오면 설치 완료 참고 Homebrew의 Apple Silicon (M1) 정식 지원 시작, 설치 방법 Homebrew on Apple Silicon 사실 정식 지원을 시작한 지는 이제 2주정도 되었습니다. ㅎㅎ brew.sh/2021/02/05/homebrew-3.0.0/..
1. Dock 자동 가리기 시스템 환경설정 - Dock 및 메뉴 막대 - "자동으로 Dock 가리기와 보기" 체크 2. Finder 경로 막대 보기와 상태 막대 보기 Finder 메뉴 - 보기 - 경로 막대 보기, 상태 막대 보기 경로 막대, 상태 막대 확인 3. Finder 계층 보기 상단 중앙에 계층 보기 아이콘을 클릭 4. 스크롤 막대 보기 시스템 환경설정 - 일반 - 스크롤 막대 보기 - "항상" 체크 5. Finder에서 파일명 확장자 표시 및 폴더 먼저 정렬되도록 하기 Finder - 환경설정... 고급 탭 - "모든 파일 확장자 보기", "윈도우에서(이름순으로 정렬 시)" 체크 6. 키보드 자동 완성 끄기 시스템 환경설정 - 키보드 - 텍스트 탭 "맞춤법 자동 수정" 체크 해제 "자동으로 문..
MacOS의 기본 설정은 Fn키가 기본으로 사용되도록 설정되어 있다. F1 ~ F12키를 사용하려면 Fn키와 함께 눌러서 사용해야 하는데 F1 ~ F12키가 기본으로 사용되도록 설정하려고 한다. 1. 시스템 환경설정 - 키보드 2. "F1, F2 등의 키를 표준 기능 키로 사용" 체크 참고 맥북 펑션키 (fn) 특수 기능키(밝기조절, 음량조절, 키보드조명) 사용하는 두가지 방법 맥북 펑션키 사용하는 두가지 방법맥북을 사용하면서 기능키를 사용하기 위해서는 Fn 키와 조합해서 누르... blog.naver.com
문제 원격 저장소를 추가하는 도중 "fatal: remote origin already exists." 메세지가 나온다. 이미 다른 원격 저장소가 연결되었던 프로젝트이다. git remote add origin [원격 서버 주소] fatal: remote origin already exists. 해결 "git remote rm [원격 저장소 이름]" 명령으로 원격 저장소를 삭제한 다음 다시 원격 저장소를 추가한다. git remote rm origin git remote add origin [원격 서버 주소] 참고 blog.naver.com/PostView.nhn?blogId=angelkim88&logNo=221565694228&parentCategoryNo=&categoryNo=51&viewDate=&..
GC(Garbage Collector)란? - JVM의 Heap 영역에서 사용하지 않는 객체를 삭제하는 프로세스 GC의 수거 대상 - 어떤 객체의 유효한 참조가 존재한다면 Reachable, 그렇지 않다면 Unreachable이라고 한다. GC의 동작 순서 - Mark and Sweep 알고리즘을 따른다. - Mark는 Reachable 객체와 Unreachable 객체를 식별하여 마킹한다. - Sweep은 Unreachable한 객체들을 Heap에서 제거한다. - GC 알고리즘에 따라 Compact 과정이 추가되기도 한다. Compact는 Sweep 후에 분산된 객체들을 한 곳으로 모아서 메모리 단편화를 막아준다. GC는 언제 일어날까 - Heap의 구조는 Young Generation, Old Gen..
Java Virtual Machine이란? - Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시키기 위한 가상머신. - JRE(Java Runtime Environment)에 포함되어 있다. - Class Loader, Runtime Data Area, Execution Engine, JNI, Native Method Library으로 이루어져 있다. Class Loader - .class 파일을 JVM의 Runtime Data Area에 배치한다. Runtime Data Area - Method 영역, Heap 영역은 모든 쓰레드가 공유하는 영역. - Stacks, PC registers, Native Method Stacks은 쓰레드 마다 하나씩 생성되는 공간. - Method 영..
1. 시스템 업데이트 sudo apt update && sudo apt-get -y upgrade 2. MariaDB 설치 sudo apt-get install -y mariadb-server 3. 기본 설정 root 계정 비밀번호 설정 및 권한 부여 sudo mysql use mysql update user set plugin='' where User='root'; set password = password('YOUR PASSWORD'); flush privileges; 접속확인 mysql -u root -p 4. DB에서 사용하는 문자열 점검 SHOW VARIABLES LIKE 'char%'; utf8mb4로 기본 설정되어 있지만 만약 아니라면 utf8mb4로 변경한다. 참고 : jm4488.tist..