programing

@도식 전반에 걸쳐 많은 ToOne이 잘못된 FK를 만듭니다.

starjava 2023. 9. 9. 08:49
반응형

@도식 전반에 걸쳐 많은 ToOne이 잘못된 FK를 만듭니다.

사용자를 항상 중앙 스키마에 저장하고 하드코드화하면 좋겠습니다.

@Entity
@Table(name = "user", schema = "central")
public class User {

    @Id
    @Column(name = "usr_id")
    private Long id;

    ...
}

다음 엔티티는 (비즈니스 로직에 의해 정의된) 다른 로컬 스키마에 위치하며 중앙 사용자 엔티티를 참조합니다.

@Entity
@Table(name = "person")
public class Person {

    @Id
    @Column(name = "prs_id")
    private Long id;

    @ManyToOne
    @JoinColumn(name = "prs_usr_id")
    private User user;

    ...
}

이제 최대 절전 모드는 중앙을 가리키는 예상 외부 키 제약 조건을 자동으로 만들지 않습니다.

CONSTRAINT `...` FOREIGN KEY (`prs_usr_id`) REFERENCES central.user (`usr_id`);

대신 로컬 사용자 테이블이 생성되고 FK는 로컬 테이블을 참조합니다.

내가 뭘 잘못하고 있는 거지?

언급URL : https://stackoverflow.com/questions/54217100/manytoone-accross-schemas-creates-wrong-fk

반응형