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 ..
CascadeType엔티티의 생명주기 이벤트를 관련 엔티티에 전파하는 방법을 정의종류ALL모든 캐스케이드 연산을 적용한다.즉, PERSIST, MERGE, REMOVE, REFRESH, DETACH가 모두 적용됩니다.PERSIST부모 엔티티를 저장할 때 연관된 자식 엔티티도 함께 저장합니다.예시장바구니 - 장바구니 상품(리스트)MERGE부모 엔티티의 상태를 병합할 때 연관된 자식 엔티티의 상태도 함께 병합합니다.REMOVE부모 엔티티를 삭제할 때 연관된 자식 엔티티도 함께 삭제합니다.REFRESH부모 엔티티의 상태를 새로 고칠 때 연관된 자식 엔티티의 상태도 함께 새로 고칩니다.DB와 동기화를 위하여 사용한다고 합니다.DETACH엔티티 매니저로부터 부모 엔티티를 분리할 때 연관된 자식 엔티티도 함께 분리..
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..
주 생성자(Primary Constructor)클래스 이름 뒤에 오는 괄호로 둘러싸인 코드를 주 생성자라고 함생성자 인자 지정인자에 의해 초기화되는 프로퍼티를 정의할 때 사용주 생성자의 명시적 선언class User(_nickname: String) { val nickname: String init { nickname = _nickname } }init 키워드로 초기화 블럭을 시작한다.객체가 생성될 때 실행된다.주 생성자의 간결한 선언class User(val nickname: String)val 키워드를 생성자 파라미터 앞에 추가함으로 프로퍼티 정의하고 초기화 가능프로퍼티 정의와 초기화를 한 줄로 간략하게 표현한다.생성자 인자 디폴트값class User(val nickname: String, val i..
개요Java Persistence API ( JPA ) 의 일부이다.컨테이너 관리형 영속성 컨텍스트에 대한 EntityManager 주입의 역할을 수행한다.영속성 컨텍스트의 역할엔티티 인스턴스의 생명주기를 관리한다.DB와 상호작용을 담당한다.사용은 언제하나?DAO(서비스 레이어) 혹은 Repository 계층에서 사용한다.해당 어노테이션 역할JPA 영속성 컨텍스트에 접근하기 위해 사용되는 EntityManager를 주입받기 위해 사용된다.Spring Framework 에서 해당 어노테이션을 통해 컨테이너가 관리하는 EntityManager 를 Service 레이어 혹은 레포 레이어에 제공이점 자원의 관리DB 연결을 효율적으로 ㄱㄴ트랜잭션의 관리트랜잭션 범위에서 영속성 컨텍스트를 제공한다.Thread Sa..