본문 바로가기

전체 글44

JPA 4장 4.1. @Entity 4.2. @Table 4.3. 다양한 매핑 사용 4.4. 데이터베이스 스키마 자동 생성 4.5. DDL 생성 기능 4.6. 기본 키 매핑 4.6.1. 기본 키 직접 할당 전략 4.6.2. IDENTITY 전략 4.6.3. SEQUENCE 전략 4.6.4. TABLE 전략 4.6.5. AUTO 전략 4.6.6. 기본 키 매핑 정리 4.7. 필드와 컬럼 매핑 : 레퍼런스 4.7.1. @Column4.7.2 @Enumerated 4.7.3. @Temporal4.7.4. @Lob 4.7.5. @Transient 4.7.6. @Access 4.8. 정리 4.1. @Entity 테이블과 매핑할 클래스는 필수로 붙여야 한다. 그 클래스는 JPA가 관리하는 것이고 엔티티라 부른다. 기본 생성.. 2025. 5. 26.
JPA 5장 5.0 들어가며 엔티티들은 대부분 다른 엔티티와 연관관계가 있다. 예를 들어 주문 엔티티는 어떤 상품을 주문했는지 알기 위해 상품 엔티티와 연관관계가 있고 상품 엔티티는 카테고리, 재고 등 또 다른 엔티티와 관계가 있다. 반면,객체는 참조(주소)를 사용해 관계를 맺는다. 테이블은 외래 키를 사용해 관계 맺는다. 이둘은 다른 특징 가진다. 이장의 목표는 객체의 참조와 테이블의 외래 키를 매핑하는 것이다. 방향에는 단방향, 양방향이 있다. 단방향은 회원 -> 팀 팀 -> 회원양방향은 회원 팀 , 양쪽 모두 서로 참조하는 것이다. 방향은 객체관계에서만 존재한다. 테이블 관계는 항상 양방향이기 때문이다. 다중성 Multiplicity: 다대일, 일대다, 다대다 연관관계의 주인 : 객체를 양방향 연관관.. 2025. 5. 23.
[JPA] 3장 - 영속성 관리 3.2 영속성 컨텍스트란? 영속성 컨텍스트 = 엔티티를 영구 저장하는 환경엔티티 매니저로 엔티티 저장, 조회하면 엔티티매니저가 영속성 컨텍스트에 엔티티 보관, 관리함. em.persist(member);엔티티 매니저를 사용해 회원 엔티티를 영속성컨텍스트에 저장한다는 뜻. 영속성 컨텍스트는 엔티티 매니저를 생성할때 하나 만들어짐. 엔티티 매니저를 통해 영속성 컨텍스트에 접근하고, 영속성 컨텍스트를 관리할 수 있음. 3.3 엔티티 생명 주기 엔티티에는 4가지 상태가 존재한다. 비영속 : 영속성 컨텍스트와 전혀 관계 없는 상태영속 : 영속성 컨텍스트에 저장된 상태준영속 : 영속성 컨텍스트에 저장되었다가 분리된 상태삭제 : 삭제된 상태 비영속엔티티 객체를 생성했지만 영속성 컨텍스트에는 저장하지 않았다.. 2025. 5. 23.
JPA 시작 - 2장 메이븐과 사용 라이브러리 관리 메이븐을 사용해 라이브러리를 관리한다. pom.xml에 사용할 라이브러리를 적어주면 라이브러리르 자동으로 내려받고, 관리해준다. 자바 애플리케이션을 개발하는데 jar파일로 된 라이브러리가 필요하다. 사용할 라이브러리 이름과 버전만명시하면 관리해준다.. 또한, 애플리케이션을 빌드하는 표준화된 방법을 제공한다. - hibernate-entitymanager : JPA 표준과 하이버네이트를 포함하는 라이브러리. - H2데이터베이스 라이브러리. 2.4 객체 매핑 시작 1. 회원테이블을 만든다. 2. 회원 클래스를 만든다. jpa가 제공하는 매핑 어노테이션 import javax.persistence.*; @Entity@Table@Id@Column매핑정보가 없는 필드 - .. 2025. 5. 22.
JPA 소개 - 1장 1. SQL을 직접 다룰때 발생하는 문제점 1.1 반복 기능 구현을 해보자 ->- 자바에서 회원 객체 만들기 - 회원 조회용 sql 작성 - jdbc api로 sql 실행하기 - 실행 결과를 회원 객체로 매핑하기 - 회원 등록용 sql 작성, jdbc api로 sql실행하기, 실행결과를 객체로 매핑하기 회원 삭제, 수정하는 기능을 추가하고 싶다면 이과정을 계속 반복한다. 하지만 자바 컬렉션을 쓰면 한줄로 객체를 저장할 수 있다. list.add(member); 1.2 sql에 의존적인 개발 회원을 등록할때 전화번호도 추가하고 싶다면 sql문을 수정하고, 자바 객체도 수정해야 한다. 회원 클래스에 연락처 필드 추가 sql문 수정 jdbc api 코드 수정. > 연관된 객체 1.3 JPA와 문제 해.. 2025. 5. 21.
클라우드 - 애플리케이션 배포하는 법 (정리) 사전 준비물 vpc 생성함. 퍼블릭 서브넷 (bastion)생성함. 프라이빗 서브넷 생성함. => mysql 설치해놔야 함. pem.key로 퍼블릭, 프라이빗 서브넷 비밀번호 알고 있어야함. 애플리케이션의 Jdbcurl을 프라이빗 아이피로 바꿔야 한다.애플리케이션을 클린 빌드 해놓는다. 테스트 통과가 되지 않으면 테스트를 빼고 빌드 한다. java open jdk17 설치하기 톰캣 설치하기 sudo wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.105/bin/apache-tomcat-9.0.105.tar.gz 압축 파일을 푼다.sudo tar -xzf apache-tomcat-9.0.105.tar.gz 푼 압축 파일을 옮겨 실행한다. sudo m.. 2025. 5. 16.