我希望我的用户始终存储在中央模式中,并对其进行硬编码:
@Entity
@Table(name = "user", schema = "central")
public class User {
@Id
@Column(name = "usr_id")
private Long id;
...
}
以下实体位于其他 local 模式(由业务逻辑定义)中,并引用中央用户实体:
@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现在不会不自动创建指向中央的预期外键约束:
CONSTRAINT `...` FOREIGN KEY (`prs_usr_id`) REFERENCES central.user (`usr_id`);
而是创建一个本地用户表,并且FK引用该本地表。
我在做什么错了?