랄라

[TIL 14일차]25.03.05 본문

내일배움캠프/TIL

[TIL 14일차]25.03.05

devdaeun 2025. 3. 5. 23:42

오늘의 질문 : Spring Data JPA에서 새로운 Entity인지 판단하는 방법은 무엇일까요?

답변

더보기

새로운 엔티티라고 표현하는 방법이 있나...? 보통 내부에 존재하는 값이랑 비교를 하긴하는데.. 잘 모르겠어서 답변을 확인했다.

새로운 Entity인지 여부는 JpaEntityInformation의 isNew(T entity)에 의해 판단됩니다. 다른 설정이 없으면 JpaEntityInformation의 구현체 중 JpaMetamodelEntityInformation 클래스가 동작합니다. 

@Version이 사용된 필드가 없거나 @Version이 사용된 필드가 primitive 타입이면 AbstractEntityInformation의 isNew()를 호출합니다. @Version이 사용된 필드가 wrapper class이면 null여부를 확인합니다.

 

is New() 라는 메소드를 호출한다고 한다.

오늘의 질문 : JPA의 ddl-auto 옵션은 각각 어떤 동작을 하고 어떤 상황에서 사용해야 할까요?

답변

더보기

ddl 은 정의어고 auto 가 붙은건, sql문과 동작할때 자동적으로 값을 추가 삭제 수정로직을 진행하는게 아닐까? 

 

다양한 값에 따라 데이터베이스 스키마에 대해 다른 동작을 수행합니다. ddl-auto 옵션에는 none(수동조작), validate(검증확인용), update(엔티티와 스키마를 비교하여 필요한경우 스키마 업데이트), create(삭제후 새로생성), create-drop(애플리케이션 종료시 삭제) 등이 존재

 

스키마는 데이터베이스 구조를 정의하고, 설계하는 개념이다. 


코드카타 (탐욕법)

https://school.programmers.co.kr/learn/courses/30/lessons/42885

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

더보기
import java.util.*;

class Solution {
    public int solution(int[] people, int limit) {
        Arrays.sort(people);
        
        int answer = 0;
        int left = 0;
        int right = people.length - 1;
        
        while (left <= right) {
            if (people[left] + people[right] <= limit) {
                left++;
            }
            right--;
            answer++;
        }
        
        return answer;
    }
}

 

'내일배움캠프 > TIL' 카테고리의 다른 글

[TIL 16일차]25.03.07  (0) 2025.03.07
[TIL 15일차]25.03.06  (0) 2025.03.07
[TIL 13일차]25.03.04  (0) 2025.03.04
[TIL 12일차] 25.02.27  (0) 2025.02.27
[TIL 11일차] 25.02.26  (0) 2025.02.27