[요약] 1대多 多에 1을 조회할 수 있는 fk가 존재 多는 연관관계의 주인 多에서 @Joincolum선언은 1을 조회할 수 있는 fk를 나타냄 1에서는 mappedBy를 통해 단순조회 1대1 연관관계 주인으로 선언한 곳에 @JoinColumn(name = "종속관계_id") 연관관계의 종속에 @MappedBy("주인 객체") 1. 객체와 테이블 서로 다른 연관관계 [Member와 Team의 연관관계] 객체와 테이블을 표현한 그림이다. 객체, PK, FK에 주의하여 살펴보자 - 객체 연관관계 포인트 2가지 회원-> 팀 1개 팀 -> 회원 연관관계 1개 - 테이블 연관관계 1가지 회원 팀의 관계 FK와 PK로 양쪽의 연관관계를 알 수 있다. [객체의 양방향 관계] - 객체의 양방향 관계는 사실 양방향 관계..
JPA로 개발 하던 중 기초가 부족해서 정리해본 글입니다. @Entity란? - @Entity가 붙은 클래스는 JPA가 관리하는 것을 뜻함 - JPA를 사용해서 테이블과 매핑할 클래스는 @Entity가 필수 선언\ 엔티티.java의 일부 @Entity @Getter @Setter @Table(name="tb_club") public class Club { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "club_id", columnDefinition = "INT(11) UNSIGNED") private Long id; @Column(name = "name", length = 50) private String name; @Co..
JPA를 이용하면서 가장 많이 듣게 되는 단어 중 하나인 영속성 컨텍스트에 대해 정리해보았다. 영속성 컨텍스트란? JPA를 이해하는 가장 중요한 용어이다. "엔티티를 영구 저장하는 환경" 으로 이해하고 넘어가자 DB와 영속성 컨텍스트 EntityManager.persist(Entity); 를 사용하면 "Entity 객체를 DB에 저장하는구나" 라고 생각하지만 실제는 Entity를 영속성 컨텍스트에 저장한다. 영속성 컨텍스트 / 엔티티 매니저 - 영속성 컨텍스트는 논리적인 개념 - 눈에 보이지 않음 - 엔티티 매니저를 통해 영속성 컨텍스트에 저장 엔티티 매니저를 생성하면 눈에 보이지않는 영속성 컨텍스트가 생성된다. 엔티티의 생명주기 엔티티가 DB에 저장되기 까지의 과정에는 4가지의 상태가 존재한다. 4가지..
Cannot delete or update a parent row: a foreign key constraint fails를 검색해보다가 다들 workbench에 강제적으로 삭제하라는 말 밖에 없어서 글을 작성하게 되었습니다. [에러발생 문구] 1. Cannot delete or update a parent row: a foreign key constraint fails 2. ` FOREIGN KEY (`review_id`) REFERENCES `tb_debate_review` (`review_id`)) 3. a foreign key constraint fails (`community`.`tb_review_member`, CONSTRAINT `FKbxh8q7ql121fkgy4cvrq1hecc` FOREI..
뷰에서 해당 게시글 삭제를 만들려고 하던 중 맞이한 오류이며 JPA queryDsl 작성중 맞이한 오류이다. 뷰 페이지에서 게시글 삭제 버튼 클릭 시 ajax를 통해 해당 게시글의 id를 보내주고, Controller에서 @Pathvariable로 id값을 받아서 DaoCustom, DaoCustomImpl로 가는 로직을 구상했다. 그러던 중 아래와 같은 오류 메시지를 마주했다. template might not exist or might not be accessible by any of the configured Template Resolvers 원인을 구글링해 본 결과 리턴해 줄 페이지가 없을 경우 경로를 찾지 못해 발생한 오류 라고 한다. 그러나 나는 @DeleteMapping을 사용하므로 리턴 페..
김영한님 JPA 기본강의를 듣던 중 기본개념을 잡기 위해 작성한 글이다. 객체와 관계형 데이터 베이스의 쿼리 차이 연관관계 객체: Member를 통해 Team을 조회할 수 있으나 Team을 통해 Member를 조회할 수 없다. - 참조를 사용: member.getTeam() 테이블 관계: Member가 Team을 그리고 Team이 Member를 조회할 수 있다. -외래키를 사용 JOIN ON M.TEAM_ID = T.TEAM_ID 객체를 테이블에 맞추어 모델링 모습 class Member { String id; // 회원 고유 id long teamId; //조인하는 teamID String username; //회원 이름 } class Team { Lond id; //팀 고유 idx String nam..
✍ 글을 적는 이유 회사 업무 중 Controller에 @Transactional(readOnly = false)를 사용하길래 내가 만든 모든 Controller에 @Transactional(readOnly = false) 붙였다. 또한 @Transactional(readOnly = false)를 붙이지 않으니 오류 메시지가 나와서 스택오버플로우를 보고 붙여야 하는 줄 알았다. 그러나 사수님으로부터 @PatchMapping 에는 (readOnly = false)를 지우고 @Transactional만 사용하라고 했다. 나는 피드백을 듣고 궁금증이 생겨 이 글을 작성하게 되었다. 핵심만 볼라면 5번 글을 봐주세요🥹 1. 들어가기에 앞서... 트랜잭션 이란? 1. 데이터베이스의 상태를 변경하는 작업의 수행하..
- Total
- Today
- Yesterday