영속성 전이 질문
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
다음은 강의와 실습을 통해 얻은 지식입니다. - 부모위주로 개발을 진행하고 싶을 때 영속성전이 사용 - @ManyToOne 또는 @OneToMany 의 속성에 Cascade 속성을 넣는다고 해서 DB 테이블생성쿼리에 별도의 설정이 추가되는 것은 아님 - 즉, 어플리케이션측 설정이라 설정 덕분에 연관된 자식 엔티티에 대한 저장, 삭제쿼리가 추가적으로 질의됨(부모엔티티에 대한 쿼리와 함께). 질문1. FK 생성시 on update/delete 옵션이 있습니다.(https://h5bak.tistory.com/125 ) 영속성전이를 공부하면서 jpa의 cascade속성명과 유사한 TABLE FK의 on update/delete 옵션기능을 알게됐습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE `member` ( `member_id` BIGINT( 20 ) NOT NULL , `username` VARCHAR ( 255 ) NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci' , `team_id` BIGINT( 20 ) NULL DEFAULT NULL , PRIMARY KEY ( `member_id` ) USING BTREE, INDEX `FKcjte2jn9pvo9ud2hyfgwcja0k` ( `team_id` ) USING BTREE, CONSTRAINT `FKcjte2jn9pvo9ud2hyfgwcja0k` FOREIGN KEY ( `team_id` ) REFERENCES `AAA` . `team` ( `team_id` ) ON UPDATE RESTRICT ON DELETE RESTRICT ) ; Colored by Color Scripter cs ON UPDATE / ON DELETE 외래키 옵션으로는 restrict / cascade / set null / no action 이 있습니다. 위 옵션들은 외래키를 갖는 다쪽(자식쪽)에 설정할 수 있는 옵션입니다. 위 4가지 옵션을 JPA 어노테이션으로 셋팅이 가능한지 궁금합니다. 질문2. 책과 강의에서는 영속성전이에 대해서 @OneToMany위주로 설명이 진행됐습니다. 저는 책 p.173상단표에 있듯 @ManyToOne에 cascade속성을 이용해보는 방식도 궁금해졌습니다. 하지만 이내 "특정 자식객체A를 삭제했다고 부모객체를 삭제하면 같은 부모를 둔 다른 자식객체B,C,D 입장에서 말이 안되는 상황" 이라고 생각이 들었습니다. @OneToMany의 cascade속성을 실습하려면 자식, 부모의 상황을 어떻게 고려해야하는지 조언을 구하고 싶습니다.
- 영속성전이
- JPA
- java





