개발하는 쿠키
article thumbnail
자바 ORM 표준 JPA 프로그래밍 | 05. 연관관계 매핑 기초
Coding/computer science 2023. 9. 12. 00:39

단방향 연관관계 회원테이블과 팀 테이블이 있다. 회원은 하나의 팀에만 속할 수 있고, 1개의 팀에는 여러 명의 회원이 있다. Member : Team = 다 : 1 관계이다. Member가 다고, Team이 1이다. 객체 연관관계 회원 객체, 팀 객체는 단방향 관계다. Member.team : Member 객체에서 Team객체는 참조 가능하다. Team.member : Team객체에서 Member객체는 참조할 수 없다. 테이블 연관관계 회원 테이블, 팀 테이블은 양방향 관계다. 회원 테이블의 TEAM_ID로 팀 테이블 조인 가능하다. MEMBER JOIN TEAM, TEAM JOIN MEMBER 가 가능하므로 양방향 관계이다. 객체 연관관계와 테이블 연관관계의 가장 큰 차이 객체는 클래스에 다른 클래스 ..

article thumbnail
자바 ORM 표준 JPA 프로그래밍 | 04. 엔티티 매핑
Coding/computer science 2023. 9. 6. 01:31

- 객체와 테이블 매핑: @Entity, @Table - 기본 키 매핑: @Id - 필드와 컬럼 매핑: @Column - 연관관계 매핑: @ManyToOne, @JoinColumn @Entity JPA가 관리하는 클래스라는 의미이므로 필수로 붙여야 한다. 기본 생성자는 필수다. final class, enum class, interface, inner class 에는 사용할 수 없다. 지정할 필드에 final을 사용하면 안된다. @Table 엔티티와 매핑할 테이블을 지정한다. 다양한 매핑 사용 필드의 자료형마다 적절한 JPA어노테이션을 사용할 수 있다. @Entity @Table(name="MEMBER") pulblic class Member { @Id @Column(name = "ID") private..

article thumbnail
자바 ORM 표준 JPA 프로그래밍 | 03. 영속성 관리
Coding/computer science 2023. 8. 29. 23:56

엔티티 매니저: 엔티티를 저장, 수정, 삭제 조회하는 일을 처리한다. 엔티티를 저장하는 가상의 데이터베이스로 생각하면 된다. 엔티티 매니저 팩토리와 엔티티 매니저 데이터베이스를 1개만 사용하는 경우 EntityManagerFactory도 1개만 생성한다. // 공장 만들기, 비용이 많이 든다. EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); persistence.xml에 있는 정보를 바탕으로 DB Driver, user name, password, jdbc url을 설정해서 EntityManagerFactory를 만든다. 이후 필요할 때마다 엔티티 매니저를 생성한다. // 공장에서 엔티티 매니저 생성 비용이 거의 ..

article thumbnail
자바 ORM 표준 JPA 프로그래밍 | 02. JPA 시작
Coding/computer science 2023. 8. 22. 06:12

책과는 다르게 Intellij, Gradle 설정을 사용했습니다. Intellij 프로젝트 만들기 File > New > Project 를 통해 새로운 프로젝트를 만든다. Spring Initializr Generator를 클릭한 후 원하는 프로젝트 이름과 저장소를 정하고, Next를 누른다. Lombok, Spring Boot Dev Tools, Spring Data JPA Depentency를 선택 후 Create를 누른다. Intellij 에 H2 데이터베이스 연결 설정하기 Intellij 오른쪽 탭에서 Database > + > Data Source > H2 를 선택한다. H2데이터베이스 서버가 없으면 설치하라는 메시지가 나온다. Download를 클릭해서 설치하면 된다. build.gradle파..

article thumbnail
자바 ORM 표준 JPA 프로그래밍 | 01. JPA 소개
Coding/computer science 2023. 8. 21. 23:50

JPA 장점 CRUD SQL을 알아서 처리한다. 객체 모델링과 관계형 데이터베이스 사이의 차이점을 해결한다. 데이터베이스 종류를 쉽게 바꿀 수 있다. MySQL -> 오라클 SQL을 직접 다룰 때 발생하는 문제점 자바로 작성한 애플리케이션은 JDBC API를 사용해서 SQL을 DB로 전달한다. 반복, 반복 그리고 반복 객체를 데이터베이스에 CRUD 하기 위해서는 많은 SQL, JDBC API 가 필요하다. 각각의 테이블마다 이 작업을 반복해야 하는데, 그럴 때마다 비슷한 코드를 작성해야 한다. // 회원 객체 public class Member{ private String memberId; private String name; } // 회원용 DAO public class MemberDAO{ public..

반응형