一对一映射是否需要中间表

大家好!

我在读《Java Persistence with Hibernate》时遇到一个问题。书中提到,one-to-one 映射可以用 shared primary key, foreign key associations 两种方式来表现。然后又提到了第三种——mapping with a join table。书中说这样可以实现 optional one-to-one relationship。

我的问题是,前两种方式应该也允许 optional one-to-one relationship,为什么需要第三种,凭白加入了一个表?

谢谢!
[b]问题补充:[/b]
回 liguangwen:

谢谢您的回答!但是我不是很明白,您说的情况是逻辑上的,或者说业务上的需要。但是我说的第三种映射方式是实现上的手段。

您能给用例吗?

..很多情况下.你说的一对一..都可以把它看成.1对多去用...

这试试吧..不需要中间表的.

他确实不需要第三个表, 但有的时候必须有一个中间表。就像现实生活中孙子和爷爷是有爸爸连接起来的!!

要是一张员工表和一张员工对应的登陆表(一个员工只有一个登陆账号) 给怎么做呢?