如何找到反面@OneToOne映射?

时间:2014-05-27 13:32:22

标签: java hibernate persistence

假设用户只能拥有帐号。你会把哪一方反面?

class User {
    @OneToOne(cascade = Cascade.ALL, mappedBy = "user")
    private Account = new Account();
}

class Account {
    @OneToOne
    private User user;
}

您是否希望制作AccountmappedBy以便帐户表包含User ID,以便在创建和保存新用户时自动保留帐户?< / p>

dao.save(new User());

1 个答案:

答案 0 :(得分:1)

对于OneToOne关系,拥有/反向的决定主要是性能影响,因此取决于以下问题的答案:

您将如何在查询中遍历关系?

如果您发现自己比User u ... u.account更频繁地撰写Account a ... a.user,请将User作为拥有方。

只是猜测:在我能想象的大多数查询中,您将从用户遍历到相关帐户,因此我将连接列放在用户表中。