본문 바로가기
반응형

트슈12

[TIL] [JPA] @OnDelete VS cascade = CascadeType.REMOVE @OnDelete DDMS 레벨에서 작동 @OnDelete(action = OnDeleteAction.CASCADE) DDL 생성시 cascade 제약 조건이 생성 됨. 여기서 DDL이란 Data Definition Language로 데이터 베이스를 정의하는 언어이며, CREATE, ALTER, DROP, TRUNCATE를 말한다. casecade=CascadeType.REMOVE JPA 레벨에서 작동 JPA가 부모 엔티티를 삭제할 때 연관된 자식 데이터에 대한 DELETE 쿼리를 실행 함 1. cascade = CascadeType.REMOVE를 설정할 경우 자식 엔티티를 삭제하는 쿼리가 먼저 실행되고, 그 다음 부모 엔티티를 삭제하는 쿼리가 실행 된다. 그리고 자식 엔티티 한 건을 삭제 하려고 하면 .. 2022. 9. 6.
[TIL] Cascade=cascadeType.ALL 남용의 문제 에러코드는 아래와 같다 org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referential integrity constraint violation 1:N의 관계를 게시물과 댓글/게시물과 이미지에 걸어놓으려고 하다보니 게시물이 삭제될시 댓글이 삭제되거나,이미지도 같이 삭제되어야 하기 때문에 cascade=cascadeType.ALL을 걸어놨다. 하지만 이 과정에서 cascade의 특성을 이해하지 않고 남발해서 문제가 발생했다. 부모의 영속화를 자식에게 전이할 이유가 없다면 cascade=cascadeType.ALL이 아닌 cascade=cascadeType.Remove를 쓰도록 하자. 만약 cascade=cascadeType.PERSIST를 사용하고.. 2022. 9. 5.
[TIL] Failed to instantiate StackNameProvider해결 Spring Cloud AWS의 auto configure를 이용시 위와 같은 에러가 날 수 있다 이럴때는 yml에는 아래와같이 추가해주고 properties에는 아래와 같이 해주자 2022. 9. 2.
[TIL] [troubleshooting] Intellij 실행시 Lombok Requires Annotation Processing 경고 Lombok을 Gradle에 추가만 해주면 이런 경고창이 뜬다 [file] - [setting] 혹은 ctrl + alt + s 로 설정창 열어줌 검색창에 annotation을 검색하거나 직접 Annotation Processors를 찾은 다음 우측 상단에 위치한 Enable annotation processing을 체크하고 OK를 눌러줌 intellij를 다시 재시작해보면 경고창이 뜨지 않는 것을 볼 수 있다. 2022. 9. 2.
[TIL] [troubleshooting] cause: invalid source release: 11 cause: invalid source release: 11 위와 같은 에러가 나서 환경변수 관련언급이 계속되어 oracle jdk/ open jdk 를 전부 설치해보고 시스템 환경변수도 수정해봤다. 그러나 cmd창에서 java -version을 입력했을 때 답정너인것처럼 원하는 대답인 java 11은 나오지않고 java8버전만 계에에에에에속 나오는 상황이었다. 대부분의 경우 환경설정과 SDK만 설정을 마친다면 해결될 것이다. 그러다가 intellij에서 나오는 에러창을 유심히 보다보니 gradle관련 언급이 있어서 Gradle JVM 버전을 11로 변경하고 나서야 에러가 해결되었다. 그후에 Spring이 정상적으로 구동됐다 2022. 9. 2.
반응형