1. 단방향 연관관계 복습2024.06.13 - [인프런 김영한 강의 정리/자바 ORM 표준 JPA 프로그래밍 기본편] - JPA 기본 | 연관관계 매핑 기초 JPA 기본 | 연관관계 매핑 기초1. 객체를 테이블에 맞춰 데이터 중심으로 모델링 했을 때 이 방식으로 모델링을 하면 객체지향과 거리가 멀어진다. 왜 객체의 참조와 외래키를 매핑해야되는지 예시를 보며 이해해보자. Memberururuwave.tistory.com member와 team이 있다.member는 하나의 team에 소속될 수 있다. 단방향 연관관계 Member 엔티티에 @ManyToOne, @JoinColumn으로 Team을 매핑해줬다.@Entity@Getter@Setterpublic class Member { @Id @Gen..
7월 1일이다. 벌써 한 해의 반이 지났다. 새롭게 다시 시작하는 마음으로 달려봐야겠다. 7월은 뭔가 이뤄내는 달이 될거야. 양 손 깁스하는게 아닌 이상 나약한 변명은 그만하고 일단 시작해보는 거야! - 돌맹이는 벅찰 정도로 내게 큰 사랑을 준다. 세상에서 제일 싫어하는 귀청소, 발톱깎기, 미용, 스케일링까지 전부 다 내가 하는데도 나를 엄청 사랑해주는 돌맹이. 이 쪼끄만 생명체가 날 일으켜 세우다니..하찮고 사랑스럽잖아.. 고마워 사랑해 맹🦝🩶
1. 삶의 가치얼마 전, 발목을 다쳐 난생 처음 MRI를 찍게 되었다. 발목 MRI지만 30분동안 온몸을 꼼짝않고 가만히 누워있어야 했다. 없던 폐쇄공포증도 생길만큼 쿵쿵거리는 소음은 꽤 공포스러웠다. '이 소리는 EDM이다.' 최면을 걸면서 내적 리듬을 타다가 금세 지루해졌다. 그 뒤로 온전히 나에게 집중하여 명상을 할 수 있었다. 만약, 누군가가 "천만원을 줄테니 너의 남은 생을 가져가겠다" 하면 교환할 수 있을 까? 상상 속 경매장에 내 여생을 내놓아봤다. 천만원, 1억, 5억, 10억 그리고 100억까지 금액이 올라갔다. 천만원은 터무니 없다고 생각했고 100억은 좀 고민이 됐지만 액수가 중요한게 아니었다. 왜냐하면, 얼마를 주든 내 손에 쥐어지는 건 한 푼도 없으니까. 죽으면 끝이니까. 인생에 ..
1. 책을 접하게 된 계기 최근에 '행복이란 어디에서 오는 것인가.' 계속 고민하고 있었는데 우연히 '마흔에 읽는 쇼펜하우어'라는 책을 접하게 되었다. 이 책에서 어느정도 해답을 얻을 수 있지 않을 까 싶어 바로 구매했다. 그 동안, 행복이란 안정감에서 온다고 생각했다. 안정감은 어디에서 오는 것 인가. 매슬로우의 욕구 5단계가 다 채워져야 안정감을 얻을 수 있는 것인가. 인간은 이 5단계 욕구를 채우기 위해 살아가는 것인가. 하나라도 구멍이 나면 인간은 계속해서 욕구를 좇아 부단히 노력하며 살아야 하는 가. 어느 순간 그런 생각이 들었다. 안정감에는 조건이 따라붙는다. 인생에서 욕구 충족을 위한 조건은 변하기 마련이다. 풍족하진 않아도 식욕을 채우기 걱정없는 삶이었는데, 경제적인 문제 또는 건강상의 문..
1. 객체를 테이블에 맞춰 데이터 중심으로 모델링 했을 때 이 방식으로 모델링을 하면 객체지향과 거리가 멀어진다. 왜 객체의 참조와 외래키를 매핑해야되는지 예시를 보며 이해해보자. Member와 Team은 N:1 관계라고 하자. ✅Memberpackage hellojpa;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Entity@Getter@Setterpublic class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "USERNAME") private String usernam..
🤔DB 연결 오류 문제이전 강의까지는 계속 jdbc:h2:tcp://localhost/~/test로 접속했었다.접속 오류가 없었어서 무난히 강의를 듣던 중, 강사님을 따라 해봐도 jpashop 데이터 베이스 접속이 안되는 문제 발생!강사님은 이렇게 persistence.xml 파일에 url 마지막 주소값을 jpashop으로만 바꾸고 H2 콘솔에서 url을 그대로 치니까 접속이 잘됐다. 그런데 나는 아래와 같이 접속 에러가 나는 게 아닌가ㅠㅠㅠ 일단 에러를 보니 Database에 jpashop을 찾을 수 없다고 뜬다. 💡원인을 파악해보니 h2 1.4.198 이후 버전은 데이터베이스를 자동 생성해주지 않기 때문에 직접 데이터베이스를 생성해줘야한다고 한다. 다른 블로그 글을 참고해서Generic H2 (..
1. 직접 할당@Id만 사용한다. ✅예시@Idprivate String id; 2. 자동 생성@GeneratedValue 애노테이션과 strategy 속성으로 GenerationType을 세팅해야한다.타입 종류설명IDENTITY기본키를 자동으로 증가시킨다. SEQUENCEDB 시퀀스를 사용하여 기본키를 생성한다. @SequenceGenerator를 사용하여 시퀀스를 정의해야한다.ex) Oracle, PostgreSQL, DB2, H2, MariaDB, SQL Server 사용가능TABLE별도의 키 생성용 테이블을 사용하여 기본키 값을 생성한다. @TableGenerator를 사용하여 테이블을 정의해야한다.모든 DB에 적용이 가능하다.AUTO방언(DB 문법)에 따라 자동 지정, 기본값이다.✔️ IDENTI..
1. 필드와 컬럼 매핑 예제1) Member 클래스package hellojpa;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;import java.util.Date;@Entity@Table(name="member")@Getter@Setterpublic class Member { @Id private Long id; @Column(name = "name") //객체명은 username인데, DB 컬럼명은 name일때 private String username; private Integer age; @Enumerated(EnumType.STRING) //사용자를 회원과 관리자로 구분한다. ENU..