ejb 3:将所有关系双向化是否可以?

时间:2010-11-17 16:57:54

标签: hibernate orm jpa

每当我进行OR映射时,我都会将所有关系都设置为双向。也就是说,我完全避免单向关系。 原因如下:

1)在所有关系中保持一致。因此,例如在持久化时,我不必考虑关系是单向还是双向。在所有情况下,只需将它们从两侧连接起来。

2)为了将来的安全,如果出现需要双方参考的情况。如果我使用了单向,我将不得不进行更改以使其成为双向的。

是否有人更喜欢这种使所有关系双向的方法? 有没有人在这种方法后遇到严重的性能问题?

2 个答案:

答案 0 :(得分:1)

这是你可以做的事情,但是,我认为这可能是一个糟糕的设计选择,只是没有实际的商业理由。换句话说,如果您的代码在其域类中需要双向关系,那么,如果它不需要它,那么恕我直言就不要这样做。

请注意,如果您没有延迟加载,则可能会遇到创建不需要的关系的性能问题。

答案 1 :(得分:0)

这取决于更频繁地发生的操作 - 如果您更愿意搜索对象,计算它们和/或显示其中的一些,则双向引用很有用。但是,如果添加/删除对象是频繁操作,则使用相反的单向操作。