2010-08-06 71 views
0

你好,希望有人能帮助我解决这个问题。2个外键映射到相同的主键问题

我有一种情况,我有: 存储我所有用户(包括管理员)的用户实体。 评论实体,存储所有针对用户的评论。

我的问题是我还在评论实体中存储发表评论的管理员的用户标识。所以现在我有评论实体有2个userId字段,并且在检索用户实体时它不会获取任何关联评论。

我的映射代码如下:

内的用户实体..

<set name="MemberComments" cascade="all-delete-orphan" inverse="true"> 
    <key column="UserCommentId"/> 
    <one-to-many class="IlluminatiCoreUserComment"/> 
</set> 

内UserComment在实体

<id name="UserCommentId"> 
    <generator class="identity"/> 
</id> 
<many-to-one name="User" class="IlluminatiCoreMember" column="UserId" not-null="true"/> 
<property name="Comment" not-null="true"/> 
<property name="CreatedTimeStamp" not-null="true"/> 
<property name="ModifiedTimeStamp" not-null="true"/> 
<many-to-one name="CommentedByUser" class="IlluminatiCoreMember" column="CommentedByUserId" not-null="true" inverse="false"/> 

我怎样才能在用户实体点内作出MemberComments只是用户多对一的领域?

感谢您的帮助提前

回答

0

在用户<key>元素应该有FK到用户,不UserComment在的ID。

换句话说,与多对一UserId相同的列。