일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Web Server
- php
- IntelliJ
- JVM
- java
- redis
- Git
- laravel
- ubuntu
- AWS
- Spring
- Design Patterns
- db
- devops
- Oracle
- springboot
- Spring Boot
- 요리
- elasticsearch
- javascript
- MySQL
- linux
- Gradle
- 맛집
- Spring Batch
- tool
- jsp
- ReactJS
- it
- jenkins
- Today
- Total
목록Java & Kotlin/JPA (6)
아무거나
Spring Boot 환경에서 DatasourceConfig 설정 (Multi Connection 또는 추가 설정시 유용) DataSourceConfig 추가 [DataSourceConfig.java] package com.example.bkjeon.base.config; import java.util.HashMap; import javax.persistence.EntityManager; import javax.sql.DataSource; import lombok.RequiredArgsConstructor; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdb..
Entity Graph 쿼리 메서드마다 연관 관계의 fetch모드를 유연하게 설정할 수 있는 기능을 제공 EAGER: 끝이 One으로 끝나는 연관관계는 기본값이 EAGER 모드이다. 참조하고 있는 다른 Entity의 값도 가져온다. LAZY: 끝이 Many로 끝나는 연관관계는 기본값이 LAZY 모드이다. 자기 자신만 가져온 후 참조하고 있는 다른 Entity에 접근하면 그때야 다시 쿼리 실행 예제코드 기본은 EAGER지만 LAZY로 정보를 가져올 때 @Entity public class Reply { @Id @GeneratedValue private Long id; private String reply; /** @ManyToOne 은 참조하고 있는 다른 Entity의 값도 가져온다(Reply를 조회하였지..
[JPQL 사용] Query annotation : Repository의 조회 메소드에 직접 실행될 쿼리를 작성 1. Controller.java List productLogs = productLogService.getProductLog(productLog, limit); 2. Service.java List getProductLog(ProductLog productLog, Integer limit); 3. ServiceImpl.java @Override public List getProductLog(ProductLog productLog, Integer limit) { return repository.sqlFindWmpVendorIdAndDataProviderProcessType(productLog.g..
아래와 같은 쿼리문에서 바인딩 에러 : No parameter binding found for name 에러가 나고 있다. 해결방법은 이러하다. [오류]바인딩 에러 : No parameter binding found for name @Query(value=" SELECT * " + "FROM system_logs " + "WHERE log_level = :logLevel " + "AND project_type = :projectType " + "AND data_provider_type = :dataProviderType" + // 띄어쓰기 때문에 오류가 났었다 위에 다른 행들처럼 마지막에 띄어쓰기를 하자. --> "AND data_provider_type = :dataProviderType " "LI..
데이터를 저장할 때 @OneToOne, @OneToMany.. 등의 annotation이 선언되어 있을 경우에는 매핑된 id값이 0이거나 매핑되어있는 id의 자식객체가 없을 때 오류가 발생하는 경우가 있다. 이 경우 매핑되는 애들이 없을 때 값을 null 처리를 하게되면 문제없이 조회를 할 수 있다. 즉, 매핑 id 값을 null로 처리하자.
@OneToOne이나 @OneToMany .. 등의 외래키 관계의 데이터를 삭제할 경우에 Foreign key가 지정되어있는 경우 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails ...... FOREIGN KEY .... 라는 에러를 출력한다. 해결방법은 만약 entity의 annotation이 @OneToMany이라고 하면 해당 annotation에 cascade 설정을 추가한다.@OneToMany(fetch = FetchType.LAZY, cascade = CascadeTy..