Tag

spring

스프링 데이터 JPA - Auditing

2 분 소요

엔티티를 생성, 변경할 때 변경한 사람과 시간을 추적하고 싶다면? 등록일 수정일 등록자 수정자

스프링 데이터 JPA - 쿼리 메서드 기능

1 분 소요

메서드 이름으로 쿼리 생성 NamedQuery @Query - 리파지토리 메서드에 쿼리 정의 파라미터 바인딩 반환타입 페이징과 정렬 벌크성 수정 쿼리 @EntityGraph

엔티티 설계 시 주의점

최대 1 분 소요

엔티티에는 가급적 Setter 를 사용하지 말자 setter 가 열려있다 > 변경 포인트가 너무 많아서 유지보수가 어렵다!

맨 위로 이동 ↑

jpa

스프링 데이터 JPA - Auditing

2 분 소요

엔티티를 생성, 변경할 때 변경한 사람과 시간을 추적하고 싶다면? 등록일 수정일 등록자 수정자

스프링 데이터 JPA - 쿼리 메서드 기능

1 분 소요

메서드 이름으로 쿼리 생성 NamedQuery @Query - 리파지토리 메서드에 쿼리 정의 파라미터 바인딩 반환타입 페이징과 정렬 벌크성 수정 쿼리 @EntityGraph

QueryDSL 소개

1 분 소요

QueryDSL을 맛 만 보자 http://www.querydsl.com

OSIV와 성능 최적화

1 분 소요

Open Session In View : 하이버네이트 Open EntityManager In View : JPA (관례상 OSIV라 한다.)

IoC, DI, 그리고 컨테이너

1 분 소요

제어의 역전 IoC (Inversion of Control) 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결 하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 개발자 입장에서는 자연스러운 흐름이다. 반면...

엔티티 설계 시 주의점

최대 1 분 소요

엔티티에는 가급적 Setter 를 사용하지 말자 setter 가 열려있다 > 변경 포인트가 너무 많아서 유지보수가 어렵다!

엔티티 직접 사용 - 기본 키 값

최대 1 분 소요

JPQL 에서 엔티티를 직접 사용하면 SQL 에서 해당 엔티티의 기본 키 값을 사용 [JPQL] select count(m.id) from Member m // 엔티티의 아이디를 사용 select count(m) from Member m // 멤버 엔티티를 직접 사...

페치조인 2 - 한계

최대 1 분 소요

페치 조인 대상에는 별칭을 줄 수 없다. 하이버네이트는 가능, 가급적 사용 X 둘 이상의 컬렉션은 페치 조인 할 수 없다.

경로 표현식

최대 1 분 소요

. (점) 을 찍어서 객체 그래프를 탐색 하는 것

JPQL 타입 표현과 기타식

최대 1 분 소요

문자 : ‘HELLO’, ‘She’’s’ 숫자 : 10L(Long), 10D(Double), 10F(Float) Boolean : TRUE, FALSE ENUM : jpabook.MemberType.Admin (패키지명 포함) 엔티티 타입 : TYPE(m) = ...

JPA 서브쿼리

최대 1 분 소요

나이가 평균보다 많은 회원 1 2 select m from Memeber m where m.age > (select avg(m2.age) from Member 2)

JPA에서 페이징

최대 1 분 소요

난 항상 회사에서 MyBatis 만 사용하니깐 JPA 에선 어떻게 페이징 하는지 몰랐다. JPA 는 페이징을 다음 두 API로 추상화 setFirstResult(int startPosition) : 조회 시작 위치 setMaxResult(int maxResult) : 조회...

JPA 에서 조인

최대 1 분 소요

내부 조인 : SELECT m FROM Member m [INNER] JOIN m.team t 외부 조인 SELECT m from Member m LEFT [OUTER] JOIN m.team t 세타 조인 select count(m) from Member ...

JPQL 기초 지식2

최대 1 분 소요

JPA 를 사용하면 엔티티 객체를 중심으로 개발’ 문제는 검색 쿼리 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 모든 DB데이터를 객체로 변환해서 검색하는 것은 불가능 애플리케이션이 필요한 데이터만 DB 에서 불러오려면 결국 검색 조건이 포함된 S...

임베디드 타입

최대 1 분 소요

새로운 값 타입을 직접 정의할 수 있음 JPA는 임베디드타입(embedded type)이라 함 주로 기본 값 타입을 모아서 만들어서 복합 값 타입이라고도 함. int, String과 같은 값 타입

값 타입과 불변 객체

최대 1 분 소요

값 타입은 복잡한 객체 세상을 조금이라도 단순화 하려고 만든 개념이다. 따라서 값 타입은 단순하고 안전하게 다룰 수 있어야 한다.

기본값 타입

최대 1 분 소요

JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 예 ) 회원 엔티티의 키나 나이 값을 변경해도 식벼자로 인식 가능 값 타입 int,...

영속성 전이(CASCADE) 와 고아 객체

최대 1 분 소요

특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 예 : 부모 엔티티를 저장할 때 자식 엔티티도 저장

상속관계 매핑

1 분 소요

상속관계 매핑 관계형 데이터 베이스는 상속관계 X 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속관계 매핑 : 객체의 상속과 구조와 DB 의 슈퍼타입 서브타입 관계를 매핑

맨 위로 이동 ↑

java

[JAVA] - parallelStream (병렬 스트림) 사용해보기

1 분 소요

Java 8 이상 사용 가능한 Stream을 병렬로 사용할 수 있는 메서드. 회사에서 마이그레이션 돌릴 려고 데이터 꺼내서 살짝 가공 후 넣는 코드를 작성했는데 너무 느려서 개선해봄.

IoC, DI, 그리고 컨테이너

1 분 소요

제어의 역전 IoC (Inversion of Control) 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결 하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 개발자 입장에서는 자연스러운 흐름이다. 반면...

엔티티 설계 시 주의점

최대 1 분 소요

엔티티에는 가급적 Setter 를 사용하지 말자 setter 가 열려있다 > 변경 포인트가 너무 많아서 유지보수가 어렵다!

엔티티 직접 사용 - 기본 키 값

최대 1 분 소요

JPQL 에서 엔티티를 직접 사용하면 SQL 에서 해당 엔티티의 기본 키 값을 사용 [JPQL] select count(m.id) from Member m // 엔티티의 아이디를 사용 select count(m) from Member m // 멤버 엔티티를 직접 사...

페치조인 2 - 한계

최대 1 분 소요

페치 조인 대상에는 별칭을 줄 수 없다. 하이버네이트는 가능, 가급적 사용 X 둘 이상의 컬렉션은 페치 조인 할 수 없다.

JPQL 타입 표현과 기타식

최대 1 분 소요

문자 : ‘HELLO’, ‘She’’s’ 숫자 : 10L(Long), 10D(Double), 10F(Float) Boolean : TRUE, FALSE ENUM : jpabook.MemberType.Admin (패키지명 포함) 엔티티 타입 : TYPE(m) = ...

JPA 서브쿼리

최대 1 분 소요

나이가 평균보다 많은 회원 1 2 select m from Memeber m where m.age > (select avg(m2.age) from Member 2)

JPA에서 페이징

최대 1 분 소요

난 항상 회사에서 MyBatis 만 사용하니깐 JPA 에선 어떻게 페이징 하는지 몰랐다. JPA 는 페이징을 다음 두 API로 추상화 setFirstResult(int startPosition) : 조회 시작 위치 setMaxResult(int maxResult) : 조회...

JPA 에서 조인

최대 1 분 소요

내부 조인 : SELECT m FROM Member m [INNER] JOIN m.team t 외부 조인 SELECT m from Member m LEFT [OUTER] JOIN m.team t 세타 조인 select count(m) from Member ...

JPQL 기초 지식2

최대 1 분 소요

JPA 를 사용하면 엔티티 객체를 중심으로 개발’ 문제는 검색 쿼리 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 모든 DB데이터를 객체로 변환해서 검색하는 것은 불가능 애플리케이션이 필요한 데이터만 DB 에서 불러오려면 결국 검색 조건이 포함된 S...

임베디드 타입

최대 1 분 소요

새로운 값 타입을 직접 정의할 수 있음 JPA는 임베디드타입(embedded type)이라 함 주로 기본 값 타입을 모아서 만들어서 복합 값 타입이라고도 함. int, String과 같은 값 타입

값 타입과 불변 객체

최대 1 분 소요

값 타입은 복잡한 객체 세상을 조금이라도 단순화 하려고 만든 개념이다. 따라서 값 타입은 단순하고 안전하게 다룰 수 있어야 한다.

기본값 타입

최대 1 분 소요

JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 예 ) 회원 엔티티의 키나 나이 값을 변경해도 식벼자로 인식 가능 값 타입 int,...

영속성 전이(CASCADE) 와 고아 객체

최대 1 분 소요

특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 예 : 부모 엔티티를 저장할 때 자식 엔티티도 저장

상속관계 매핑

1 분 소요

상속관계 매핑 관계형 데이터 베이스는 상속관계 X 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속관계 매핑 : 객체의 상속과 구조와 DB 의 슈퍼타입 서브타입 관계를 매핑

맨 위로 이동 ↑

queryDSL

QueryDSL 소개

1 분 소요

QueryDSL을 맛 만 보자 http://www.querydsl.com

맨 위로 이동 ↑

db

맨 위로 이동 ↑

thymeleaf

맨 위로 이동 ↑

validation

맨 위로 이동 ↑

transaction

맨 위로 이동 ↑

AOP

맨 위로 이동 ↑

DB

맨 위로 이동 ↑

exception

맨 위로 이동 ↑

mvc패턴

맨 위로 이동 ↑

NETWORK

맨 위로 이동 ↑

login

맨 위로 이동 ↑

servlet

맨 위로 이동 ↑

proxy

맨 위로 이동 ↑

HTTP

맨 위로 이동 ↑

WEB

맨 위로 이동 ↑

test

맨 위로 이동 ↑

jpql

IoC, DI, 그리고 컨테이너

1 분 소요

제어의 역전 IoC (Inversion of Control) 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결 하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 개발자 입장에서는 자연스러운 흐름이다. 반면...

JPQL 타입 표현과 기타식

최대 1 분 소요

문자 : ‘HELLO’, ‘She’’s’ 숫자 : 10L(Long), 10D(Double), 10F(Float) Boolean : TRUE, FALSE ENUM : jpabook.MemberType.Admin (패키지명 포함) 엔티티 타입 : TYPE(m) = ...

JPQL 기초 지식2

최대 1 분 소요

JPA 를 사용하면 엔티티 객체를 중심으로 개발’ 문제는 검색 쿼리 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 모든 DB데이터를 객체로 변환해서 검색하는 것은 불가능 애플리케이션이 필요한 데이터만 DB 에서 불러오려면 결국 검색 조건이 포함된 S...

맨 위로 이동 ↑

session

맨 위로 이동 ↑

upload

맨 위로 이동 ↑

pointcut

맨 위로 이동 ↑

tomcat

맨 위로 이동 ↑

blog

맨 위로 이동 ↑

message

맨 위로 이동 ↑

filter

맨 위로 이동 ↑

intercepter

맨 위로 이동 ↑

file

맨 위로 이동 ↑

advanced

맨 위로 이동 ↑

log

맨 위로 이동 ↑

thread

맨 위로 이동 ↑

templateMethod

맨 위로 이동 ↑

proxyFactory

맨 위로 이동 ↑

bean

맨 위로 이동 ↑

성능

OSIV와 성능 최적화

1 분 소요

Open Session In View : 하이버네이트 Open EntityManager In View : JPA (관례상 OSIV라 한다.)

[JAVA] - parallelStream (병렬 스트림) 사용해보기

1 분 소요

Java 8 이상 사용 가능한 Stream을 병렬로 사용할 수 있는 메서드. 회사에서 마이그레이션 돌릴 려고 데이터 꺼내서 살짝 가공 후 넣는 코드를 작성했는데 너무 느려서 개선해봄.

맨 위로 이동 ↑

error

맨 위로 이동 ↑

api

맨 위로 이동 ↑

converter

맨 위로 이동 ↑

typeConverter

맨 위로 이동 ↑

formatter

맨 위로 이동 ↑

connectionPool

맨 위로 이동 ↑

DataSource

맨 위로 이동 ↑

JdbcTemplate

맨 위로 이동 ↑

JPA

맨 위로 이동 ↑

docker

맨 위로 이동 ↑

git

맨 위로 이동 ↑

github

맨 위로 이동 ↑

db커넥션

OSIV와 성능 최적화

1 분 소요

Open Session In View : 하이버네이트 Open EntityManager In View : JPA (관례상 OSIV라 한다.)

맨 위로 이동 ↑

페이징

맨 위로 이동 ↑

에러

맨 위로 이동 ↑

인코딩

맨 위로 이동 ↑

jsp

맨 위로 이동 ↑

aws

맨 위로 이동 ↑

ci/cd

맨 위로 이동 ↑

type

맨 위로 이동 ↑

download

맨 위로 이동 ↑

issue

맨 위로 이동 ↑

batch

맨 위로 이동 ↑

strategy

맨 위로 이동 ↑

templateCallback

맨 위로 이동 ↑

decorator

맨 위로 이동 ↑

reflection

맨 위로 이동 ↑

CGLIB

맨 위로 이동 ↑

AspectJ

맨 위로 이동 ↑

cleanCode

맨 위로 이동 ↑

inflean

맨 위로 이동 ↑

MyBatis

맨 위로 이동 ↑

SpringDataJpa

맨 위로 이동 ↑

Querydsl

맨 위로 이동 ↑

Spring REST Docs

맨 위로 이동 ↑