목록Tech (57)
지나공 : 지식을 나누는 공간
JPA의 기능에는 데이터베이스 스키마 자동생성 기능이 있다. 이는 DDL을 어플리케이션 실행 시점에 자동으로 생성해주는 기능이다. 테이블 중심에서 객체 중심으로 코딩이 가능하게 하는 기능이고, 데이터베이스 dialect에 따라 적절하게 DDL을 생성한다. 예를 들어 MySql이냐 Oracle이냐에 따라 varchar인지 varchar2인지가 달라진다. dialect에 따라 맞게 DDL을 생성한다. 그리고 이렇게 생성된 DDL은 개발 장비에서만 사용하고, 운영 서버에서는 사용하지 않거나 적절히 다듬어 쓴다. 사용법은 resources - META-INF - persistence.xml에서 hibernate.hbm2ddl.auto의 옵션을 설정하면 된다. - create : 기존 테이블을 삭제한 뒤 다시 생..
김영한 님의 자바 ORM 표준 JPA 프로그래밍 강의를 듣고 정리했습니다. JPA에서 가장 중요한 것이 '객체와 관계형 데이터베이스 매핑하는 것', 그리고 영속성 컨텍스트입니다. 영속성 컨텍스트를 알아기 전에 먼저 짚어야 할 개념들이 있습니다. EntityManagerFactory, EntityManager ? 데이터 요청이 들어올 때마다 EntityManagerFactory는 EntityManager를 생성하고, 이 EntityManager는 데이터베이스커넥션을 활용해서 DB에 접근하여 요청사항을 처리합니다. EntityManager 사용 EntityManager를 사용해 봅시다. resources 폴더 안에 있는 persistence.xml 파일에서 persistence-unit name은 JPA를 ..
JPA란? - Java Persistence API, 자바 진영의 ORM 기술 표준 - 인터페이스의 모음으로 Hibernate, EclipseLink, DataNucleus의 구현체 ORM이란? Object-relational mapping, 객체 관계 매핑으로, 객체는 객체대로 설계하고 관계형데이터베이스는 관계형데이터베이스로 설계하면 orm 프레임워크가 중간에서 매핑하는 방식임. JPA와 CRUD - 마치 java 컬렉션에 넣은 채 쓰는 듯한 편리함! - 저장 : jpa.persist(member) //영구저장한다는 의미 - 조회 : Member member = jpa.find(memberId) - 수정 : member.setName("변경할 이름") - 삭제 : jpa.remove(member) 패러..
Learn Git Branch의 내용을 참고하였습니다. HEAD HEAD는 현재 체크아웃된 커밋을 의미합니다. 즉, 현재 작업 중인 커밋으로 HEAD는 항상 작업트리의 가장 최근 커밋을 가리킵니다. 따라서, 작업트리에 변화를 주는 git 명령어들은 대부분 HEAD를 변경하는 것으로 시작합니다. 왼쪽 사진은 master 뒤에 HEAD가 있는 상태이고, 여기서 git checkout C1을 하면 오른쪽처럼 C1에 HEAD가 있게 됩니다. Relative Ref - 상대참조 상대참조를 통해 브랜치에서 출발하여 다른 지점에 도달하고 거기서 작업을 할 수 있습니다. ^연산자 ^는 한 번에 한 커밋 위로 움직이는 연산자(HEAD가 한 커밋 위로 이동)이고, ~은 한 번에 여러 커밋 위로 올라가는 연산자입니다. 예를..
김영한 님의 자바 orm 표준 jpa 프로그래밍 기본편 강의를 통해 공부한 내용입니다. ORM이란, Object(객체)와 Relation(관계)를 Mapping(연결)한다는 개념으로, ORM을 이용한 개발은 객체와 데이터베이스 변형에 유연하게 대처할 수 있도록 한다. 객체 지향 프로그래밍 입장에서 관계형 데이터베이스의 제약을 받지 않으면서 관계형 데이터베이스 자체를 객체처럼 쉽게 표현하고 사용하기 위한 개념이다. SQL 중심적인 개발의 문제점 : CRUD 의 무한한 반복으로 지루한 코드 생성 객체와 관계형 데이터베이스의 차이 : 상속, 연관관계, 데이터타입, 데이터 식별 방법 -> 객체는 FK로 참조가 불가능하지만 테이블은 연관관계를 통해 참조가 가능하다. [jpa없이 java에서 sql을 직접 다루면 ..
윈도우 기준입니다. [Gradle] Ctrl + Space : compile 메소드에 라이브러리 이름 일부에를 적고 해당 라이브러리 목록 확인할 때 사용 [인텔리제이 기능] Ctrl + Shift + A : Action 검색창 ( share on github 등을 검색할 수 있음) [깃허브] Ctrl + K : commit 창 열기 [실행] Debug -> shift + F9 Run -> shift + F10 [검색] Ctrl + F : 현 파일 내에서 검색 Ctrl + shift + F : 전체 파일 내에서 검색 Ctrl + Alt + V : builder로 객체 생성 시 객체 선언 없이 builder로 쭉 쓴 후에 단축키 클릭하면 자동으로 객체생성문 완성 Ctrl + E : 최근 열었던 파일 Ctrl..
본 포스팅은은 Learn Git Branching의 내용을 참고했습니다. git의 구조 밑줄 친 문장은 실제 명령어입니다. commit commit은 변경이나 추가를 할 때마다 변경사항을 저장소에 기록하는 스냅샷입니다. 처음에 c1이 있는데 이에 대해 변경을 하고 git commit을 하면 c1을 부모로 하는 새 커밋 c2가 생깁니다. branch 브랜치는 특정 커밋에 대한 참조인데, 많이 만들어도 메모리나 디스크 공간에 부담이 안 됩니다. git branch newImage라는 명령을 통해 진행중이던 내용에 대해 branch를 만들 수 있습니다. 만들기만 하고 branch 위치에서 commit을 안하면 같은 commit에 대한 branch만 존재하는, 아래와 같은 모습이 됩니다. 브랜치와 마스터 둘 다..