Я хочу, чтобы мои пользователи всегда сохранялись в центральной схеме и, следовательно, жестко кодировали ее:
@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;
...
}
Теперь Hibernate не автоматически создает ожидаемое ограничение внешнего ключа, указывающее на central :
CONSTRAINT `...` FOREIGN KEY (`prs_usr_id`) REFERENCES central.user (`usr_id`);
Вместо этого создается локальная пользовательская таблица, а FK ссылается на локальную таблицу.
Что я делаю не так?