1. 어제 강의 및 회의 내용
1) 2개의 DB를 적용
- 샘플 데이터용 DB와 유저 정보(게시글 포함)용 DB를 따로 구분하기 위해 2개의 DB를 사용하기로 했음
(1) 설정
- 2개의 DB를 사용하기 위해서는 2개의 EntityManagerFactory가 필요하며 이에 따른 DataSource나 TransactionManager도 별도로 추가해줘야 한다. 그리고 JpaRepository에 연결할 EntityManagerFactory와 TransactionManager을 설정해줘야 한다.
- 전반적인 방법은 아래 포스팅을 확인하도록 하자.
https://kimcoder.tistory.com/560
(2) 사용
- EntityManager 가져오기 : EntityManager은 EntityManagerFactory에 의해 생성되기 때문에 어떤 EntityManagerFactory에 의해 생성될지 지정해야 함. @PersistenceContext의 unitName 옵션에 EntityManagerFactory의 이름을 지정하면 됨.
@PersistenceContext(unitName = "sampleData")
EntityManager em;
- 트랜잭션 사용하기 : 트랜잭션을 사용할 때는 @Transactional 어노테이션을 사용하는데, 어떤 TransactionManager을 사용할지는 TransactionManager bean의 이름을 지정하면 됨. 일반적으로 bean의 이름은 bean 메소드 이름으로 등록됨
@Bean
public PlatformTransactionManager transactionManager() { // Bean 이름 = 메소드 이름
JpaTransactionManager jpaTransactionManager = new JpaTransactionManager(entityManagerFactory().getObject());
jpaTransactionManager.setDataSource(dataSource());
return jpaTransactionManager;
}
@Transactional("transactionManager")
2) 프론트 엔드쪽 회의 내용
- 프론트 엔드 작업 인력 : 주역, 찬명
- 각자 BootStrap 공부 해올 것
2. 오해할 수 있는 개념
- 내장 DB는 서버를 끄면 데이터가 날아감
- ddl-auto 옵션을 none으로 지정하면 DDL문이 자동으로 생성되지 않는다. 이 경우에는 테이블을 생성하는 CREATE TABLE문을 설정 파일에 직접 명시해야 함.
3. 기타 안내 사항
1) application.properties 내용 일부 수정
- 나중에 pull 할 때 다시 안내할 것이니 미리 수정하지 않아도 됩니다.
# 변경 전
spring.datasource.jdbc-url=jdbc:h2:~/test
# 변경 후
spring.datasource.jdbc-url=jdbc:h2:~/test;MODE=MySQL
2) 방언 변경
- Hibernate 방언을 H2에서 MySQL로 변경함
<DBConfig.class>
properties.setProperty("hibernate.dialect","org.hibernate.dialect.MySQL5InnoDBDialect");
- 나중에 마스터 브랜치에서 pull 하면 되니 각자 수정하지 않아도 됩니다.
3) 작업 방식 사전 안내
- TCP School에 있는 예제 코드를 H2 Console에서도 실행해보고 되는 내용만 학습 사이트에 반영할 계획임
- 오류나는 내용은 과감히 제외할 것임
- INSERT, UPDATE, DELETE문처럼 직접 데이터베이스의 결과를 확인할 수 없는 개념은 다중 택일 문제로 대체할 계획임
'개발 프로젝트 > [팀] Web - SQL 교육 사이트' 카테고리의 다른 글
[팀 프로젝트] SQL 교육 사이트 - 20220917 안내 사항 (0) | 2022.09.17 |
---|---|
[팀 프로젝트] SQL 교육 사이트 - 20220912 안내 사항 (0) | 2022.09.12 |
[팀 프로젝트] SQL 교육 사이트 - 20220806 작업 사항 (0) | 2022.08.06 |
[팀 프로젝트] SQL 교육 사이트 - 20220801 강의 정리 (0) | 2022.08.02 |
[팀 프로젝트] SQL 교육 사이트 - 20220724 안내 사항 (0) | 2022.07.24 |
댓글