분류 전체보기
-
[Spring] 프록시와 연관관계Backend/Spring 2022. 8. 25. 17:18
객체 그래프 탐색 객체는 객체 그래프로 연관된 객체를 탐색한다. order.getMember()나 member.getOrders()와 같이 가능하다. https://miraekwak.tistory.com/125 [Spring] 연관 관계 매핑 단일 엔티티 매핑 https://miraekwak.tistory.com/124 [Spring] 단일 엔티티 매핑 단일 엔티티 매핑 JPA는 엔티티 객체를 생성할 때, 기본 생성자 (Default Constructor)를 사용한다. @Entity : 영속성 컨텍스트에.. miraekwak.tistory.com Entity는 객체가 데이터베이스(RDB)와 매핑되어 있어서 자유롭게 객체를 탐색하는데 제한이 있다. order.getMember()를 하려고 한다면 order..
-
[Spring] 고급 매핑(상속관계매핑/@MappedSuperclass/식별자클래스)Backend/Spring 2022. 8. 25. 15:56
연관 관계 매핑 연관 관계 매핑은 단일 매핑의 데이터 중심 설계에서 벗어나 객체간의 참조를 설정하는 매핑 방식이다. 연관관계 매핑을 바탕으로 고급 매핑을 적용할 수 있다. https://miraekwak.tistory.com/125 [Spring] 연관 관계 매핑 단일 엔티티 매핑 https://miraekwak.tistory.com/124 [Spring] 단일 엔티티 매핑 단일 엔티티 매핑 JPA는 엔티티 객체를 생성할 때, 기본 생성자 (Default Constructor)를 사용한다. @Entity : 영속성 컨텍스트에.. miraekwak.tistory.com 고급 매핑 RDB의 테이블과 매핑된 객체(Entity)를 객체답게 사용할 수 있도록 JPA에서 제공하는 매핑 전략이다. 테이블 상속 관계 ..
-
[Spring] 연관 관계 매핑Backend/Spring 2022. 8. 25. 14:51
단일 엔티티 매핑 https://miraekwak.tistory.com/124 [Spring] 단일 엔티티 매핑 단일 엔티티 매핑 JPA는 엔티티 객체를 생성할 때, 기본 생성자 (Default Constructor)를 사용한다. @Entity : 영속성 컨텍스트에서 관리하는 객체임을 알림 속성 설명 name JPA에서 사용할 엔티티 이름을 지 miraekwak.tistory.com 단일 엔티티 매핑을 사용할 경우 데이터 중심 설계로 인해 잘못된 JPA 엔티티 객체를 사용하는 문제점이 발생한다. 이를 해결하는 것이 연관 관계 매핑! 연관 관계 매핑 객체 연관 관계 VS 테이블 연관 관계 테이블 연관 관계 create table member (id bigint not null, address varchar..
-
[Spring] 단일 엔티티 매핑Backend/Spring 2022. 8. 24. 17:40
단일 엔티티 매핑 JPA는 엔티티 객체를 생성할 때, 기본 생성자 (Default Constructor)를 사용한다. @Entity : 영속성 컨텍스트에서 관리하는 객체임을 알림 속성 설명 name JPA에서 사용할 엔티티 이름을 지정한다. @Table : 엔티티 객체와 RDB 테이블간의 매핑 속성 설명 name 매핑할 테이블 이름 @Table(name = "member") public class Member { @Id private Long id; private String name; private String nickName; private int age; private String address; private String description; // getter, setter } 데이터 베이스 스..
-
[Spring] 영속성 컨텍스트Backend/Spring 2022. 8. 22. 15:38
Entity, EntityManagerFactory, EntityManagerFactory Entity RDB의 Table과 매핑되는 객체이다. @Entity @Table(name = "customers") // table 명이 클래스명과 다를경우 public class Customer { @Id // Id PK private long id; private String firstName; private String lastName; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getFirstName() { return firstName; } public void setFirstNam..
-
[Spring] Spring Frameworks를 활용한 데이터 레이어(RDB) 접근 방법Backend/Spring 2022. 8. 19. 12:15
Spring Frameworks를 활용한 데이터 레이어(RDB) 접근 방법 JDBC JDBC Template 쿼리매퍼(Mybatis) ORM(JPA) JDBC 자바 어플리케이션은 JDBC API를 이용하여 데이터 계층과 통신한다. JDBC API 인터페이스는 각각 JDBC Driver라는 구현체를 통해서 동일한 인터페이스로 구현되어 있음 각 Database에 대해 구현해놓은 Driver 클래스 객체들을 사용해서 JDBC API 인터페이스를 통해서 통신 @Slf4j public class JDBCTest { static final String JDBC_DRIVER = "org.h2.Driver"; static final String DB_URL = "jdbc:h2:~/test"; static final S..
-
[SW 아카데미 모각코] 7주차 활동 정리모여서 각자 코딩/2022 SW 아카데미 모각코 2022. 8. 18. 18:00
일시 : 8월 18일 목 15:00 ~ 18:00 [ Google Meet ] Spring Boot Application Error 해결 SpringBootApplication을 실행하기 위해서 datasource를 application.yaml에 작성했는데 이때 mysql 연결 시 에러가 발생했다. root의 password가 실패했다는 에러였는데 오랜 구글링 끝에 찾아냈다... https://miraekwak.tistory.com/120?category=936051 [SpringBoot Error] java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 에러 해결하기 Problem 스프링에서 데이터베이..
-
[SpringBoot Error] java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 에러 해결하기Backend/Spring 2022. 8. 18. 16:48
Problem 스프링에서 데이터베이스를 사용하기 위해 datasource bean 등록하며 JDBC설정을 해주어 mysql을 연동하였다. 코드는 다음과 같다. url, username, password를 설정하고 HikariDatasource 사용하도록 하였다. @Bean public DataSource dataSource() { var dataSource = DataSourceBuilder.create() .url("jdbc:mysql://localhost/order_mgmt") .username("root") .password("0000") .type(HikariDataSource.class) .build(); dataSource.setMaximumPoolSize(1000); dataSource.se..