@ManyToOne跨模式创建错误的FK

时间:2019-01-16 12:28:34

标签: java hibernate jpa foreign-keys mariadb

我希望我的用户始终存储在中央模式中,并对其进行硬编码:

@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引用该本地表。

我在做什么错了?

0 个答案:

没有答案