본문 바로가기

Predicate3

JPA - 객체지향 쿼리 언어 - Criteria - 참조: 자바 ORM 표준 JPA 프로그래밍 - Criteria Criteria 는 JPQL 의 작성을 도와주는 빌더 클래스이다. 문자열로 JPQL 을 작성하면 런타임이 되어야 문법 오류를 알 수 있지만 Criteria 는 자바 코드 기반이기 때문에 안전하게 JPQL 을 작성할 수 있다. 하지만 코드가 복잡해서 직관적으로 이해하기 힘들다는 의견도 있다. 대부분의 내용이 JPQL 과 중복되므로 사용법위주로 살펴보자. - Criteria 기초 Member member1 = new Member(); member1.setName("Name#1"); em.persist(member1); Member member2 = new Member(); member2.setName("Name#2"); em.persist(m.. 2021. 8. 4.
[Java 8] 람다(Lambda) - 3 - 출처: Java 8 in action - 출처: https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html - 메서드 레퍼런스 메서드 레퍼런스는 메서드를 변수에 저장한것처럼 사용할 수 있게 한다. 람다와 메서드 레퍼런스중 꼭 어느것이 더 좋다거나 가독성이 더 좋다고 말할 수는 없다. 상황에 따라서 메서드 레퍼런스가 때로는 람다가 가독성이 더 좋으므로 상황에 맞게 잘 사용하자. 메서드 레퍼런스는 아래처럼 사용한다. public class People { private String name; private Integer age; public People(String name, Integer age) { super(); this.na.. 2021. 2. 11.
[Java 8] 람다(Lambda) - 1 - 출처: Java 8 in action - 람다란 무엇인가?람다 표현식이란 메서드로 전달할 수 있는 익명함수를 단순화 한것이다. 람다 표현식에는 이름이 없으며, 파라미터 리스트, 바디, 반환형식, 발생할 수 있는 예외 리스트를 가지고 있다.메소드와 달리 이름이 없으므로 익명이라 표현한다.어떤 클래스에 종속되는 메소드가 아니라서 함수이다.Java 8 이전에는 메소드를 전달하고 싶으면 익명클래스를 하나 선언하여 전달하였다. 이말이 무슨말인지 모를수도 있지만 아래와 같은 코드를 한번쯤은 사용해본적이 있을거라고 생각한다.1 2 3 4 5 6 7peoples.sort(new Comparator() { @Override public int compare(Person o1, Person o2) { return o1.. 2021. 2. 10.