• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

서로 다른 스키마(database) 에 있는 테이블의 연관관게 매핑 시 에러가 나는데 가능한 방법이 있나요?

20.10.16 16:40 작성 조회수 866

0

Caused by: org.hibernate.AnnotationException: Unknown mappedBy in: xxx.a.model.User.preference, referenced property unknown: xxx.b.model.Preference.user

위와 같은 에러가 납니다.

같은 스키마에 있는 Entity 는 아무 문제 없이 연관관계 매핑이 잘 됩니다.

확인 부탁드립니다.

@Entity

@Table(name = "A.users")

@Cacheable

@JsonInclude(JsonInclude.Include.NON_NULL)

class User(

:::

      @OneToOne(fetch = FetchType.LAZY, mappedBy = "user", cascade = [CascadeType.ALL])

      var preference: Preference?,

:::

): BasePersistable() {

}

@Entity

@Table(name = "B.preferences")

@Cacheable

@JsonInclude(JsonInclude.Include.NON_NULL)

class Preference(

:::

    @JsonIgnore

    @OneToOne(fetch = FetchType.LAZY)

    @JoinColumn(name = "user_id")

    var  user: User?,

:::

): BasePersistable() {

}

답변 3

·

답변을 작성해보세요.

1

k-dev님의 프로필

k-dev

질문자

2020.10.20

같은 EntityManagerFactory 로 관리되는 경우 A.table1 join B.table2 이 잘 되네요... EntityManagerFactory 가 다른 경우는 안되는게 맞을 것 같습니다. 

확인 감사합니다.

1

k-dev님의 프로필

k-dev

질문자

2020.10.19

알겠습니다.

현제 다른 EntityManagerFactory 로 관리되는데

EntityManagerFactory 하나로 합쳐도 될 것 같습니다.

합쳐서 테스트 해 보겠습니다.

감사합니다.

1

안녕하세요. kepha님

A와 B가 같은 EntityManagerFactory에서 관리되는 것이 맞나요? 그렇다면 오류는 스키마와 관계없이 매핑이 뭔가 잘못된 것 같아요.

참고로 스키마가 다르면 다른 데이터베이스로 보고 연관관계 매핑을 하지 않는 것을 추천드립니다.

제가 코틀린을 사용하지 않아서, 자바 코드로 해당 부분을 재현할 수 있는 예제를 만들고, zipkyh@naver.com으로 메일 보내주시면 도움을 드릴께요^^

감사합니다.