사용자 도구

사이트 도구


java:jpa:association

JPA 관계

관계

to-many 주의

Entity Graph / JPA 2.1

Cascade

Casecade.REMOVE 함부로 사용하지 말 것

작가대 책의 관계가 Many-To-Many(공저자일 경우)가 발생하는 데 이 때 작가1을 삭제하면 공저자가 있는 책까지 모두 삭제하고 상호 Cascade.REMOVE가 걸려있을 경우에는 관계의 연쇄로 인해 작가1과 공저한 책과 공저자 자신, 공저자의 다른 책들까지 연쇄를 삭제될 수 있다.

@JoinFormula

  • 관계가 맺어져 있지 않을 경우 null값을 저장해야 하지만 Legacy DB의 경우 0 이나 기타 다른 값을 저장하는 경우가 있다.
  • @JoinFormula
    @JoinFormula(value="CASE the0isNullColumn WHEN 0 THEN NULL ELSE the0isNullColumn END")
  • @NotFound도 사용가능하지만 이 경우 잘못된 값이 들어온 경우와 null을 나타내는 값이 들어온 경우를 구분할 수 없다.
    @NotFound(action = NotFoundAction.IGNORE)

@JoinFormula 참고

참조

java/jpa/association.txt · 마지막으로 수정됨: 2020/11/12 14:53 저자 kwon37xi