본문 바로가기
반응형

java22

JPA - 객체지향 쿼리 언어 - Criteria 집합, 정렬, 조인 - 집합 Criteria 에서 집합(group by) 과 집합의 조건(having) 을 어떻게 사용하는지 예제를 통해 알아보자. group by 를 사용해보기 위해 기존 Member 엔티티에 age 속성을 더해주고, Address 를 함께 사용한다. Embedded 타입에 equals 와 hasCode 재정의 해 주는것도 잊지말자. @Entity public class Member extends DateMarkable{ @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private int age; private String name; @Embedded private Address address; @OneToMany(mappedBy = ".. 2022. 3. 24.
[JAVA] JPA Optional, ifPresent를 통한 null체크 Spring Data JPA 사용 시 레파지토리의 리턴 타입을 Optional로 설정.​ ifPresent를 통해 null체크를 함으로 인해 코드양을 줄이고 좀 더 직관적으로 소스를 볼 수 있다. 1. isEmpty() 사용 Optional test = testRepository.findById("아이디"); if(!test.isEmpty()){ //test가 null이 아닐 경우 프로세스 }); 2. ifPresent 사용 Optional test = testRepository.findById("아이디"); test.ifPresent(a->{ //test가 null이 아닐 경우 프로세스 }); 2022. 3. 23.
[JAVA] List의 특정 ID별 Sum값 구하기 ※ List에 있는 Item들을 대상으로 고유한 ID별로 합계 구하기 class SumClass { public String id; public Float value; } ※ 문제풀이 ​ Collector.toMap(a1, a2, a3) 메서드 첫번째 인자에 의해서 Key (SumClass에서 id) 두번째 인자는 맵의 Value (SumClass에서 value) 세번째 인자는 Key에 충돌이 있는 경우 Value를 merge하는 연산자 세번째 인자에 Float::sum 연산자를 넘겨줌으로써 id가 동일한 경우 value를 합산하도록 Map을 작성한 것이다. private Map sum(List list) { return list.stream().collect(Collectors.toMap(e -> e... 2021. 11. 18.
[JAVA] LIST, 배열 값 합치기(SUM) - 람다식 1. LIST값 합치기 List list = new ArrayList (); list.add(100); list.add(200); list.add(1000); int sum = list.stream().mapToInt(Integer::intValue).sum(); System.out.println(sum); 결과 - 1300 ​ 2. 배열값 합치기 int[] arr = {1,2,3,10}; int sum = IntStream.of(arr).sum(); System.out.println(sum); 결과 - 16 ​ ​ 람다식이 표현이 간단하고 소스코드 또한 간단하지만 잘못 사용하면 성능면에서 저하를 일으킬 수도 있습니다. ​ 상황에 맞게 사용하시면 될것같습니다. 2021. 11. 17.
반응형