현실을 넘어
close
프로필 배경
프로필 로고

현실을 넘어

  • 분류 전체보기
    • 자바
      • 일반
      • 알고리즘
      • 객사오
      • 스프링입문객체지향
      • 리팩토링
      • 스프링부트3
      • JPA
      • QueryDsl
      • Spring Security
    • 코틀린
      • 코틀린인액션
      • 알고리즘
    • 일 관련 삽질
    • JIRA
    • 도메인주도개발
    • DB
      • Mysql
    • MQ
      • Apache Kafka
    • Docker-Kubernetes
    • GITHUB
    • REST API
    • 리눅스
  • 홈
  • 태그
  • 방명록

[객체지향 생활체조] __규칙 8: 일급 콜렉션을 쓴다.__

일급 컬렉션이란?컬렉션을 포함한 클래스가 다른 멤버 변수 없이 단 하나의 컬렉션만 멤버 변수로 가지는 것즉,컬렉션 (Collection) 을 포장하여 그 자체를 하나의 클래스로 만드는 것을 말한다.비즈니스 로직상에서 사용되는 데이터에 대한 유효성 검사비즈니스 규칙 적용 등내부에서 캡슐화하여 관리할 수 있게됨. 일급 컬렉션 예시public class LottoNumbers { private final Set numbers; public LottoNumbers(Set numbers) { if (numbers == null || numbers.size() != 6 || !numbers.stream().allMatch(num -> 1 PayType.isNaverPay(pay.getPayType())); } pu..

  • format_list_bulleted 자바/일반
  • · 2024. 2. 24.
  • textsms

BIGDECIMAL 사용시 주의점

BigDecimal.divide() 메서드 사용시반올림 모드를 지정하지 않는다면, 나눗셈의 결과가 무한소수 인 경우 ArithmeticException 이 발생할 수 있다.BigDecimal 은 기본적으로 정확한 값을 요하는데, 예를 들어 1 / 3 같은 계산을 BigDecimal 로 계산하려고 하는 경우, 0.3333333…. 으로 무한한 소수가 됨. 그래서 특정한 반올림모드가 필요함. API reference for Java Platform, Standard EditionEach rounding mode description includes a table listing how different two-digit decimal values would round to a one digit decimal ..

  • format_list_bulleted 자바/일반
  • · 2024. 2. 24.
  • textsms

[JPA] em.persist 와 [repository.save](http://repository.save) 분석

persist엔티티를 영속성 컨텍스트에서 관리되도록 만든다.해당 메서드 호출시 해당 엔티티의 식별자(PK) 가 생성되며, 해당 식별자는 트랜잭션이 커밋되는 시점에 DB에 반영한다.@GeneratedValue 같은 식별자 자동 생성 타입으로 설정된 경우에만 PK 를 가져올 수 있음.실제 DB에 반영되는 것은 트랜잭션이 커밋되는 시점임!repository.saveEntityManager.persist 또는 EntityManager.merge를 호출 주어진 엔티티가 새로운 엔티티인지 아닌지를 판단하여 적절한 작업을 수행save 메서드는 호출 즉시 데이터베이스에 반영되지 않고, 트랜잭션이 커밋되는 시점에 데이터베이스에 반영차이점새로운 엔티티(식별자가 없거나 영속성 컨텍스트에 없는 엔티티) persist를 호출이..

  • format_list_bulleted 자바/JPA
  • · 2024. 2. 24.
  • textsms

Jpa CascadeType 각 모드의 역할과 예시 코드

CascadeType엔티티의 생명주기 이벤트를 관련 엔티티에 전파하는 방법을 정의종류ALL모든 캐스케이드 연산을 적용한다.즉, PERSIST, MERGE, REMOVE, REFRESH, DETACH가 모두 적용됩니다.PERSIST부모 엔티티를 저장할 때 연관된 자식 엔티티도 함께 저장합니다.예시장바구니 - 장바구니 상품(리스트)MERGE부모 엔티티의 상태를 병합할 때 연관된 자식 엔티티의 상태도 함께 병합합니다.REMOVE부모 엔티티를 삭제할 때 연관된 자식 엔티티도 함께 삭제합니다.REFRESH부모 엔티티의 상태를 새로 고칠 때 연관된 자식 엔티티의 상태도 함께 새로 고칩니다.DB와 동기화를 위하여 사용한다고 합니다.DETACH엔티티 매니저로부터 부모 엔티티를 분리할 때 연관된 자식 엔티티도 함께 분리..

  • format_list_bulleted 자바/JPA
  • · 2024. 2. 21.
  • textsms

[알고리즘] 11659번: 구간 합 구하기 4

11659번: 구간 합 구하기 4첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다.https://www.acmicpc.net/problem/11659import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { try (BufferedReader br = new BufferedReader(new InputStreamRea..

  • format_list_bulleted 자바/알고리즘
  • · 2024. 2. 21.
  • textsms

[Qdsl, JPA] @PersistenceContext 의 역할

개요Java Persistence API ( JPA ) 의 일부이다.컨테이너 관리형 영속성 컨텍스트에 대한 EntityManager 주입의 역할을 수행한다.영속성 컨텍스트의 역할엔티티 인스턴스의 생명주기를 관리한다.DB와 상호작용을 담당한다.사용은 언제하나?DAO(서비스 레이어) 혹은 Repository 계층에서 사용한다.해당 어노테이션 역할JPA 영속성 컨텍스트에 접근하기 위해 사용되는 EntityManager를 주입받기 위해 사용된다.Spring Framework 에서 해당 어노테이션을 통해 컨테이너가 관리하는 EntityManager 를 Service 레이어 혹은 레포 레이어에 제공이점 자원의 관리DB 연결을 효율적으로 ㄱㄴ트랜잭션의 관리트랜잭션 범위에서 영속성 컨텍스트를 제공한다.Thread Sa..

  • format_list_bulleted 자바/JPA
  • · 2024. 2. 21.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • ···
  • 49
  • navigate_next
공지사항
  • ㅇ
전체 카테고리
  • 분류 전체보기
    • 자바
      • 일반
      • 알고리즘
      • 객사오
      • 스프링입문객체지향
      • 리팩토링
      • 스프링부트3
      • JPA
      • QueryDsl
      • Spring Security
    • 코틀린
      • 코틀린인액션
      • 알고리즘
    • 일 관련 삽질
    • JIRA
    • 도메인주도개발
    • DB
      • Mysql
    • MQ
      • Apache Kafka
    • Docker-Kubernetes
    • GITHUB
    • REST API
    • 리눅스
최근 글
인기 글
최근 댓글
태그
  • #ddd
  • #객사오
  • #도메인주도개발
  • #QueryDSL
  • #알고리즘
  • #JPA
  • #자바
  • #리팩토링
  • #객체지향
  • #Kotlin
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바