jpa
-
[JPA] Optimistic, Pessimistic LockJAVA/SPRING 2024. 8. 10. 16:06
낙관적 락(Optimistic Lock)낙관적 락은 사전에 테이블 로우에 락을 거는 방식이 아닌 충돌이 발생했을 경우에 대비하는 방식입니다.테이블에 특정 컬럼을 추가하여 조회 시점의 값과 저장하려는 시점의 값이 동일한지 확인하여 충돌을 방지하도록 동작합니다.이는 충돌 발생 빈도수가 낮은 상황에 적합하며 지속적인 락으로 인한 성능 저하를 막을 수 있습니다.아래는 Spring boot, JPA에서 낙관적 락을 적용하는 예시입니다.Entity@Entityclass UserEntity( id: Long, name: String, version: Int,) { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long..
-
[Spring] JpaRepository MethodJAVA/SPRING 2020. 1. 28. 20:56
JpaRepository Method save() : 새로운 엔티티는 저장, 이미 존재하는 엔티티는 수정(insert, update) - 특정 칼럼을 제외하고 Insert, Update하려면 @CreationTimestamp @Column(name="created_time", updatable=false) private LocalDateTime created_time; @UpdateTimestamp @Column(name="updated_time", insertable=false) private LocalDateTime updated_time; findOne() : 엔티티 하나를 조회 (즉시 조회하여 객체를 전달) getOne() : 엔티티 하나를 조회 (lazy-loading을 통해 객체를 전달) fi..
-
[Spring Boot] Spring Boot (2) - 기본 로직 + MySQL 연동JAVA/SPRING 2020. 1. 7. 21:36
1. MySQL 연동 설정 //application.properties # MVC View spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp #MySQL spring.datasource.url=jdbc:mysql://localhost:3306/boot_study?serverTimezone=UTC spring.datasource.username=root spring.datasource.password=1111 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.database=mysql spring.jpa.show-sql=true plugins { id 'org..
-
[Spring Boot] Spring Boot (1) - 개발환경 설정JAVA/SPRING 2020. 1. 5. 22:09
1. Eclipse 설치 https://www.eclipse.org/ The Platform for Open Innovation and Collaboration | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects, including runtimes, tools and frameworks. www.eclipse.org 2. 플러그인 설치 (STS, Gradle) Eclipse Marketplace에서 STS, Gradle 플러그인 설치 3. 프로젝트 생성 File -> New -> Spring Starter P..