일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- Proxy
- http
- JPQL
- AOP
- Exception
- java
- spring
- 스프링 핵심 원리
- 스프링
- 김영한
- pointcut
- 백준
- Servlet
- springdatajpa
- transaction
- 자바
- SpringBoot
- db
- 스프링 핵심 기능
- 인프런
- jpa
- JDBC
- kotlin
- Thymeleaf
- Android
- Greedy
- Spring Boot
- 그리디
- QueryDSL
- Today
- Total
목록인프런 (528)
개발자되기 프로젝트
1. 요구사항 회원은 일반 회원과 관리자로 구분되어야 한다. 회원 가입일과 수정일이 있어야 한다. 회원을 설명할 수 있는 필드가 있어야 한다. 이 필드는 길이 제한이 없다. 2. Mapping Annotation 정리 @Annotation 설명 @Column 컬럼 매핑 @Temporal 날짜 타입 매핑(DATE, TIME, TIMESTAMP) : DB는 구분해서씀 @Enumerated enum타입 매핑(ORDINAL, STRING) : 항상 STRING으로 @Lob BLOB, CLOB 매핑, varchar를 넘어서는 큰 컨텐츠 @Transient 특정 필드를 컬럼에 매핑하기 않고 필드로 씀. @Enumerated - DB에는 ENUM타입이 없음. - @Enumerated(EnumType.STRING) -..
1.데이터베이스 스키마 자동 생성 DDL???(Data Definition Language) - 데이터베이스를 정의하는 언어이며, 데이터의 전체의 골격을 결정하는 역할을 하는 언어 DDL을 애플리케이션 실행 시점에 자동 생성 - 애플리케이션 로딩 시점에 create문으로 DB를 생성하고 시작할 수 있음. 테이블 중심 -> 객체 중심 데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL 생성 이렇게 생성된 DDL은 개발 장비에서만 사용 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬은 후에 사용 2. 데이터베이스 스키마 자동 생성 - 속성 hibernate.hbm2ddl.auto 옵션 설명 create 기존테이블 삭제 후 다시 생성(drop + create) create-drop cr..
1. 엔티티 매핑 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinColumn 2. @Entity @Entity가 붙은 클래스는 JPA가 관리, 엔티티라 함. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수!!! 기본 생성자 필수!!(JPA 스펙임) final 클래스, enum, interfacem inner클래스에 사용 못함 저장할 필드에 final 사용 멈춰! 3. @Entity 속성 name - JPA에서 사용할 엔티티 이름 지정 - 기본값 : 클래스 이름 그대로 사용 - 같은 클래스 이름이 없으면 가급적 기본 값 사용. 4. @Table @Table은 엔티티와 매핑할 테이..
1. 플러시 영속성 컨텍스트의 변경 내용을 DB에 반영 tx.commit() 실행되면 내부적으로 flush()실행됨. flush() 호출되면?? 무슨일이? - 변경감지, dirty checking - 수정된 엔티티 관련된 SQL을 생성하여 쓰기 지연 SQL저장소에 등록 - 쓰기지연 SQL 저장소의 쿼리를 DB에 전송(등록, 수정, 삭제) 영속성 컨텍스트를 flush하는 방법 - em.flush() 직접하든가 - tx.commit() 호출하면 flush() 자동으로 호출 됨. - JPQL 쿼리 실행하면 flush 자동 호출. 만약 persist(entity)하고 바로 JPQL을 통해 모든 엔티티 조회하면 DB에 반영이 안되어있기 때문에 불러올 수 없다. 따라서 JPA는 JPQL실행시 flush가 자동으로 ..
1. 엔티티조회, 1차 캐시 영속 상태는 1차 캐시에 올라가 있는 상태, persist, find로 1캐시에 들어간 상태. 영속성 컨텍스트 내부에는 "1차 캐시"가 있음 persist(entity)할 경우 1차 캐시에 저장됨. //엔티티를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); //엔티티를 영속 em.persist(member); @Id(PK)와 @Entity(객체)가 key & value로 1차캐시에 저장됨. 1차 캐시에서 id로 조회하는 경우 Member member = new Member(); member.setId("member1"); member.setUsername..
1. JPA에서 가~~장 중요한 두 가지 객체와 관계형 데이터베이스 매핑 (Object Relational Mapping) 💥영속성 컨텍스트 2. EntityManagerFactory와 EntityManager Hello JPA 1. JPA 구동방식 Persistence에서 설정정보 조회 EntityManagerFactory 생성 - EntityManagerFactory는 애플리케이션 로딩 시 딲! 하나 만 만들어 놔야함. - EntityManagerFactory 생성위해서는 PersistenceUnitN.. bsh-developer.tistory.com 3. Persistence Context(영속성 컨텍스트) JPA를 이해하는데 가장 중요한 용어 "엔티티를 영구 저장하는 환경"이라는 뜻 EntityM..
1. JPA 구동방식 Persistence에서 설정정보 조회 EntityManagerFactory 생성 - EntityManagerFactory는 애플리케이션 로딩 시 딲! 하나 만 만들어 놔야함. - EntityManagerFactory 생성위해서는 PersistenceUnitName이 필요 - PersistenceUnitName은 persistence.xml에서 입력한 값이다. - entityManagerFactory를 만드는 순간 DB랑 연결도 완료됨. EntityManager 생성 - 쿼리를 날리기 위해서는 EntityManagerFactory에서 EntityManager를 꺼내야 함. - DB커넥션을 얻고 종료되는 Transaction 단위마다 entityManager 생성 필요. -->쉽게말해..
1. H2 DB 설치 H2 Datebase 1. H2 DB 설치 및 사용법은 이전 글 참고 H2 Database 설치 및 사용 법 2021.05.22 - [JPA] - H2 In-Memory DB H2 In-Memory DB 1. H2 DB 란? DB는 JAVA기반의 경량화된 관계형 DB file 로 저장하여 실제 DB처럼.. bsh-developer.tistory.com 가벼움 메모리DB 웹용 쿼리 툴 MySQL, Oracle 시뮬레이션 가능 시퀀스, Auto Increment 지원 2. 메이븐 사용 groupId : jpa-basic artifactId: ex1-hello-jpa version : 1.0.0 pom.xml - hibernate 버전은 스프링 홈페이지에서 확인 가능. - hibernat..