我有一个User表和一个UserRelation表(简化示例)。用户可能与其他用户有0个或更多关系。 UserRelation表有两列:user1和user2。目前我在User.hbm.xml中有这个映射:
<set name="userRelations">
<key column="user1" />
<one-to-many class="UserRelation" />
</set>
然而,关系是对称的,所以我(我想)我想做的是这样的:
<set name="userRelations">
<key column="user1 OR user2" />
<one-to-many class="UserRelation" />
</set>
这样的事情是否可能,或者我是否采取了错误的方式?我总是可以为每个关系添加两行(Alice - &gt; Bob和Bob - &gt; Alice),但这看起来有点多余。另一种选择是拥有两套不同的套装,但这并不是特别直观。