[JPA] jpa delete 안됨
2022. 11. 14. 20:26
프로그래밍/JPA
jpa delete 안되는 문제 코드를 살펴보면 보통 delete 후에 insert 하는 작업이 있는 경우 delete가 작동안하게 됨 update가 안되는 경우도 아래의 해결방법과 원인을 살펴보기 해결 방법 repository.flush()로 date 반영해준 뒤 insert 작업하기 👉 순서상 insert 가 먼저 실행되기에 delete가 적용 안될 수 있음 delete -> flush -> insert 순으로 실행하기 원인 hibernate에서 동작하는 SQL 순서가 정해져 있기 때문 hibernate 레퍼런스를 찾아보면 작업 순서가 정확하게 나와있음 @Transactional이 있기 때문에 함수 종료시 쿼리문들이 한꺼번에 실행되는데 이때 insert가 먼저 실행되고 delete가 마지막에 실행되기..
[Java] LocalDate, LocalDateTime 날짜 차이 계산
2022. 11. 11. 20:12
프로그래밍/JAVA
LocalDate 날짜 차이 계산하기 Period LocalDate startDate = LocalDate.of(2020, 11, 10); LocalDate endDate = LocalDate.of(2022, 11, 20); Period period = Period.between(startDate, endDate); log.debug("Days : {}", period.getDays()); // Days : 10 LocalDateTime 날짜 차이 계산하기 ChronoUnit Duration과 Period 객체를 생성하지 않고 특정 시간 단위로 차이를 구하는 방법 LocalDateTime startDateTime = LocalDateTime.of(2020, 12, 20, 9, 30, 30); LocalD..
[React] 리액트 조건문
2022. 11. 8. 20:43
프로그래밍/React
JSX 안의 삼항 연산자 조건문 ? 조건문 참일때 실행할 코드 : 거짓일 때 실행할 코드 이 형식에 맞춰 쓰면 됨 function Component() { return ( { 1 === 1 ? 참이면 보여줄 HTML : null } ) } JSX 내에서 if/else 대신 쓸 수 있음 삼항연산자는 그냥 if와는 다르게 JSX 안에서도 실행가능하며 조건을 간단히 주고 싶을 때 사용 간단한 조건문 더보기 (문법) 자바스크립트에선 &&연산자라는게 있음 "왼쪽 오른쪽 둘다 true면 전체를 true로 바꿔주세요~" 라고 쓰고싶을 때 씀 true && false; true && true; 맨 위의 코드는 그 자리에 false가 남고 밑의 코드는 true가 남음 근데 자바스크립트는 && 기호로 비교할 때 true와..
[Java Error] java list add 시 null pointer exception
2022. 11. 7. 20:36
프로그래밍/JAVA
java list add 시 null pointer excetpion list 생성시 List longList = null; longList.add(2L); 이렇게 작성하지 말고 List longList = new ArrayList(); longList.add(2L); 위와 같이 선언하기
[Java] Stream reduce 사용법 및 예제
2022. 11. 4. 20:50
프로그래밍/JAVA
Stream :: reduce 사용법 reduce는 stream의 데이터를 하나의 요소로 만드는 작업을 수행 쉽게 stream의 마지막 요소를 가져오고 싶을 때도 활용할 수 있음 👉 알아보기 다양한 예제 List numbers = Arrays.asList(1, 2, 3, 4, 5, 6); int result = numbers .stream() .reduce(0, (subtotal, element) -> subtotal + element); assertThat(result).isEqualTo(21); List letters = Arrays.asList("a", "b", "c", "d", "e"); String result = letters .stream() .reduce("", (partialString,..
[Java] Stream 마지막 요소 가져오기
2022. 11. 3. 20:43
프로그래밍/JAVA
간단하게 Stream 마지막 요소 가져오기 Stream :: reduce 메서드 이용 Stream stream = ...; // sequential or parallel stream Optional last = stream.reduce((first, second) -> second); 실제 사용 예시 Order endDate = sortOrderProductList .stream() .reduce((first, second) -> second).get() .getEndDate(); Stream :: reduce 사용법 reduce는 stream의 데이터를 하나의 요소로 만드는 작업을 수행 List numbers = Arrays.asList(1, 2, 3, 4, 5, 6); int result = numb..
[Java] List 중복 제거
2022. 10. 31. 20:24
프로그래밍/JAVA
Stream의 distinct()를 이용한 list 중복 제거 👉 list.stream().distinct().collect(Collectors.toList()); import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class RemoveListDuplication { public static void main(String[] args) { // List 준비 List list = Arrays.asList("A", "B", "C", "A"); // 중복 제거 List newList = list.stream().distinct().collect(Collectors.toList()); // 결과 출..
[SpringBoot] spring-boot-devtools 라이브러리 사용 방법
2022. 10. 28. 20:55
프로그래밍/Spring Boot
spring-boot-devtools 라이브러리 사용 방법 devtools 라이브러리에서 제공하는 기능 Property Defaults Automatic Restart Live Reload Global Settings Remote Applications 보통 Automatic Restart와 LiveReload 기능을 사용하기 위해 사용함 서버를 재시작하지 않고, 클래스파일에 변경사항이 있을 시 이를 캐치하여 리로드 해줌 Automatic Restart와 LiveReload 사용 방법 1. build.gradle에 의존성 추가 developmentOnly 'org.springframework.boot:spring-boot-devtools' 2. IntelliJ 환경 설정 Preferences > Buil..