Spring/SpringDataJPA 23

공통 인터페이스 기반 - 순수 JPA 기반 레포지토리 만들기

일단 순수하게 JPA 기반을 레포지토리를 한번 만들어보자. 저장 변경 - > 변경감지 사용 삭제 전체 조회 단건 조회 카운트 => JPA에서 수정은 변경가지 기능을 사용하면 되고 트랜잭션 안에서 엔티티 조회한 다음 데이터 변경하고 트랜잭션 종료 시점에 변경 감지 기능이 작동해서 변경된 엔티티를 감지하고 UPDATE SQL을 실행한다. 기본적인 CRUD를 만들어본다. JPA가 제공하는 JPQL이라는 기술을 사용하자(객체를 대상으로 하는 쿼리) SQL로 번역이 된 다음에 실제 db에서 데이터를 가져와서 반환을 해준다. delete, findById, Optional, count을 사용해서 만들어준다. package study.datajpa.repository; import org.springframewor..

예제 도메인 모델 - 예제 도메인 모델과 동작확인

예제 도메인 모델의 엔티티 클래스와 ERD를 보자. db에서 FK가 다에 들어가야 하기 때문에 member에 들어간것을 확인할 수 있다. Member class를 아래와 같이 설정을 해주고 package study.datajpa.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.*; @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; private int age; // member와 team은 다대일 관계 @ManyToOne @J..

프로젝트 생성 & 스프링 데이터 JPA와 DB설정, 동작확인

Appreance에서 gradle 설정 및 lombok설정 h2 db 실행은 여기를 참고 - chmod + x [프로그램명] or - chmod 755 h2.sh https://animal-park.tistory.com/301 [Mac] zsh: permission denied: ./h2.sh 맥 터미널에서 프로그램 실행시 "zsh: permission denied: " 에러가 발생한 경우 해결하는 방법에 대해 알아보겠습니다. 해당 오류는 말그대로 파일실행 권한이 없어서 발생한 오류인데요. 해결방법은 animal-park.tistory.com 데이터베이스 파일 생성 방법 jdbc:h2:~/datajpa (최소 한번) jdbc:h2:~/datajpa ~/datajpa.mv.db 파일 생성 확인 이후 부터는..