일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- CPU스케줄링
- fatch
- 임베디드타입
- DB replication
- 스케일아웃
- 산업은행청년인턴
- Spring JPA
- 해시
- 트리셋
- 프로그래머스
- 프로젝트
- JPA
- 그래프탐색
- 코테
- 구현
- 파이널프로젝트
- 컴퓨터구조
- 2178
- 폰켓몬
- 운영체제
- springboot
- 백준
- findById
- SpringBatch
- CS
- 외래키제약조건위반
- BFS
- flyway
- 트리맵
- 산업은행it
- Today
- Total
목록Spring (7)
나 JAVA 봐라

https://yejin-code.tistory.com/13 [AWS RDS] Multi-AZ, Read Replica 프로젝트를 aws를 통해 배포하기로 했다. 그에 따라 DB도 RDS를 사용하기로 했는데, 이 후 Replication, Auto scale까지 고려하다보니 따져봐야할 것들이 많아졌다. 그렇다고 무턱대고 생성하기에는.. 추 yejin-code.tistory.com (AWS에서 제공하는 RDS, Read Replica, DB replication에 대한 내용은 위의 링크를 참고해주세요!) 사전 작업으로 AWS RDS로 mysql를 띄운 후, read replica를 생성했다. read/write 요청에 따른 분산 처리를 어떻게 할까 고민하면서 aws 서비스를 사용해보려 했지만 여러 이슈로 ..

현재 프로젝트에서 Flyway로 데이터베이스 스키마 생성, 변경을 하고 이 후 CRUD 작업은 Spring JPA로 하고 있다. 그러던 중 각 방식에서 연관관계를 맺는 방식에 차이가 있는 것을 보고 정리해본다. Spring JPA 란? Spring JPA(Java Persistence API)는 자바 ORM(Object-Relational Mapping) 표준으로, 객체와 데이터베이스 테이블 간의 매핑을 쉽게 처리할 수 있게 도와준다. 스프링 JPA는 기본적으로 JPA를 사용하면서 스프링에서 제공하는 추가적인 기능을 사용할 수 있게 한다. Spring JPA 주요 특징 개발 편의성 향상 : Spring JPA는 개발자가 직접 SQL 쿼리를 작성하는 대신, 메소드 이름만으로 데이터베이스의 CRUD 연산을 ..
Service에서 reviewReaction 엔티티를 DB에 저장하는 메소드를 아래와 같이 작성했다. reviewReaction 엔티티는 review, user 엔티티를 참조하고 있기 때문에 revieReaction 엔티티 생성 시에 참조하고 있는 값이 DB에 존재하지 않으면 java.sql.SQLIntegrityConstraintViolationException을 던진다. 해당 연관관계는 sql 스크립트로 FK를 맺어주고 엔티티에는 JPA 연관관계를 따로 명시하지 않고 있다. 따라서 위의 Exception은 데이터베이스에서 던지는 에러이며, SQL 실행 중 무결성 제약 조건이 위반되었을 때 발생한다. @Transactional public void createReviewReaction(ReviewRea..
https://yejin-code.tistory.com/10 Embeddable Type review 엔티티에 이어, review에 대한 반응을 남기는 기능을 구현하기 위해 Embedded Type에 대해 알아보게 되었다. review 반응을 저장하기 위한 review_reaction DB를 새로 구상해보았더니 필드를 아래와 같 yejin-code.tistory.com (Embedded Type에 대한 포스팅은 위의 링크를 참고하세요!) Embedded PK 엔티티에 대한 Dto를 생성하지 않았다. 그래서 컨트롤러에서 Dto 대신 엔티티를 import 하게 되었다. Embedded PK에 한해서만 컨트롤러에서 엔티티를 import 하는 것이 기존의 방식과 어떻게 다른지 정리했다. PK에 대한 Dto를 생..
review 엔티티에 이어, review에 대한 반응을 남기는 기능을 구현하기 위해 Embedded Type에 대해 알아보게 되었다. review 반응을 저장하기 위한 review_reaction DB를 새로 구상해보았더니 필드를 아래와 같이 구성해야한다. reviewReactionPK(ReviewReactionPK) : reviewId와 userId를 갖는 Embedded PK reviewReaction(int) : 어떤 반응을 남겼는지를 나타내는 int (반응은 1부터 5까지 있다. ) Embedded Type이란, 여러 개의 컬럼을 하나의 객체로 묶어서 사용하는 것을 의미하며, 이 객체를 엔티티의 일부로 사용할 수 있다. @Embeddable : JPA에서 임베디드 타입을 정의하는데 사용되는 어노테..
프로젝트 진행 중, 예상치 못한 에러로 인해 시간이 지체 되었다... ㅠ @Entity(name = "review") public class Review extends AuditingField { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) private Long id; @ManyToOne(optional = false) @JoinColumn(name = "user_id", nullable = false) private User user; @ManyToOne(optional = false) @JoinColumn(name = "gym_id", nullable = false) priv..

이전 프로젝트에서 API 호출해서 데이터를 가져올 때 스케줄러만 사용하여서 주기적으로 해당 작업이 반복되도록 했었다. 이번 프로젝트에서는 API 호출 시 가져오는 데이터를 스프링 배치를 통해 처리해보려 한다. 이제 Spring Initializer에서 Spring Boot 2점대 버전이 지원되지 않아서, 3.1.6 버전을 사용하여 프로젝트를 진행하고 있다. 이에 따라 3버전 부터는 Spring Batch 5버전을 사용하도록 업데이트가 되어서, 레퍼런스가 많지 않은 Batch 5 버전을 사용해야 한다. 배치에 대한 어느정도의 개념이 있어야 바뀐 점이 많은 5 버전을 잘 사용할 수 있을 것 같아, 기본적인 개념을 먼저 공부해보았다. 스프링 배치 그게 뭔데 어떻게 하는건데 스프링 배치 : 대용량 데이터를 처리..