전체 글

필자는 docker로 mysql-container를 열어서 사용했다.아래의 순서대로 mysql-container에 접속한 후, 사용자 목록을 확인하고, spring boot에서 연결할 sql의 유저를 추가한다. 먼저 mysql docker 환경에 접속한후, root로 접속한다.docker exec -it mysql-container /bin/bashmysql -u root -p 그 후 mysql을 사용하고, 어떤 유저가 존재하는 지 확인한다.use mysql;select user, host from user; 사용자를 만든다. (필자는 jamjam으로 만들었다.)create user 'jamjam'@localhost identified by '${password}'; 이 후 jamjam에게 모든 data..
Service단에 @Transactional(readOnly = true)프로젝트를 진행하며 Transactional(readOnly = true)를 굳이 왜 붙이는 지 궁금해서 찾아 보았다.@Service@RequiredArgsConstructor@Transactional(readOnly = true)public class RoomService {일반적으로, 조회용 메서드에 대해서는 readOnly를 설정함으로써 성능상 이점을 얻을 수 있다.JPA - DirtyChecking와의 연관트랜잭션이 Commit 될 때, 초기 상태의 정보를 가지는 Snapshot 과 Entity의 상태를 비교하여 변경된 내용에 대해 update query를 생성해 쓰기 지연 저장소에 저장한다.그 후, 일괄적으로 쓰기 지연 저..
초기 데이터를 설정하기 위해 다음과 같이 코드를 구현한다.여기서 defer-datasource-initialization: true 를 사용해서 초기 데이터를 추가하고 구현한다.spring: config: import: - privacy.yml sql: init: mode: always datasource: url: jdbc:mysql://${test.db.host}:${test.db.port}/${test.db.database}?serverTimeZone=Asia/Seoul&characterEncoding=UTF-8 driver-class-name: com.mysql.cj.jdbc.Driver username: ${test.db.username} ..
ckm7907
백엔드 잘하고 싶어요!