반응형 분류 전체보기282 [요약] 자바 ORM 표준 JPA 프로그래밍 JPA 소개애플리케이션에서 SQL을 직접 다룰 때 발생하는 문제점을 요약하면 다음과 같다.진정한 의미의 계층 분할이 어렵다.엔티티를 신뢰할 수 없다.SQL에 의존적인 개발을 피하기 어렵다.객체는 참조를 사용해서 다른 객체와 연관관계를 가지고 참조에 접근해서 연관된 객체를 조회한다.반면에 테이블은 외래 키를 사용해서 다른 테이블과 연관관계를 가지고 조인을 사용해서 연관된 테이블을 조회한다.SQL을 직접 다루면 처음 실행하는 SQL에 따라 객체 그래프를 어디까지 탐색할 수 있는지 정해진다.실제 객체를 사용하는 시점까지 데이터베이스 조회를 미룬다고 해서 지연로딩이라 한다.JPA는 자바 ORM 기술에 대한 API 표준 명세다.JPA가 어려운 근본적인 이유는 ORM이 객체지향과 관계형 데이터베이스라는 두 기둥 위.. 2024. 7. 11. [JPA] java 8과 hibernate의 java.time 패키지 처리 프로젝트 스펙은 아래와 같습니다.hibernate-core 5.0.12hibernate-jpa-2.1-api 1.0.0 Finaljava 1.8 날짜 컬럼을 이용하여 Between 쿼리를 수행하려고 합니다.findBy[날짜필드]Between(LocalDateTime startDate, LocalDateTime endDate) 이 메서드를 수행하면 LocalDateTime이 아래와 같이 파라미터 바인딩되어 정상적으로 데이터를 가져오지 못합니다.between '' and '' LocalDateTime을 byte[]로 인식을 합니다. java.time.LocalDateTime을 java.util.Date 으로 타입을 변경하면 정상적으로 메서드가 수행됩니다.왜 이런 상황이 발생한 걸까요? hibernate 5.. 2024. 7. 3. [Git] 커밋한 소스가 롤백된 경우의 처리 상황A는 피쳐 브랜치에서 개발 브랜치로 병합을 했습니다.B는 개발 브랜치에 병합하는 과정 중 A 가 작업했던 이력을 롤백시켜 병합을 했습니다. 이 때, A의 코드를 어떻게 개발 브랜치에 되돌릴 수 있을까요? 고민개발 브랜치에 이미 A의 커밋이 존재하기 때문에 체리픽을 할 수 없습니다.revert를 하자니 B의 병합 시점 이후에 추가된 커밋들이 많아 불가능 합니다.reset은 협업하는 깃에서는 사용을 지양해야 합니다.리셋하고 강제 푸시를 하게 되면 다른 사람들의 브랜치의 헤드와 리모트 헤드가 달라지면서 소스가 꼬입니다. 해결중요한 것은 새로운 커밋을 만들어야 하는 것입니다.그래서 아래와 같은 절차로 진행하여 해결했습니다.새로운 피쳐 브랜치를 생성A의 커밋과 똑같이 소스 코드를 수정 후 커밋 (새로운 커밋이.. 2024. 7. 3. 파싱(Parsing) 파싱(parsing)은 프로그래밍에서 데이터를 특정 형식으로 해석하고 구조화하는 과정을 의미합니다. 원시 데이터를 의미 있는 구성 요소로 분리하고, 이를 바탕으로 데이터의 의미를 이해하고 처리하는 작업입니다. 파싱은 텍스트, 파일, 네트워크 데이터 등 다양한 형태의 데이터를 다룰 때 필수적인 과정입니다.파싱의 필요성데이터 구조화: 원시 데이터(raw data)를 의미 있는 구조로 변환하여 프로그램에서 사용할 수 있게 합니다.데이터 변환: 데이터 포맷을 변환하여 다른 시스템 간의 데이터 교환을 가능하게 합니다.데이터 검증: 데이터를 파싱하면서 형식이나 값이 유효한지 검증할 수 있습니다.파싱의 과정토큰화(Tokenization): 입력 데이터를 작은 단위인 토큰(token)으로 분리합니다. 예를 들어, 문장.. 2024. 6. 30. 이전 1 ··· 15 16 17 18 19 20 21 ··· 71 다음 반응형