我有一张NewsFeed
的表。
NewsFeed
+ ID
+ fromUserId
+目标ID
+型数据库设计:大表vs查询数据中每一行的实体表
这样的消息是这样的:Tom Wakefield
评论Peter Smith
的资料。
所以任我添加两个字段到我NewsFeed
呼叫fromUserName
和targetUserName
OR
对于每一行我在dataTable中显示我将从Entity
查询。
<p:dataTable value="#{myBean.news}" var="item">
<p:column>
<h:outputText value="#{myBean.getName(item.fromUserId)} " />
<h:outputText value="commented on " />
<h:outputText value="#{myBean.getName(item.targetId)}" />
</p:column>
</p:dataTable>
然后里面myBean.java
myBean.java
public String getName(Long userId){
User u = mySessionBean.findUserById(userId);
return u.getFName() + " " + u.getLName();
}
哪种方式更好?每个行的查询在性能方面真的让我受到了很大的冲击
注意:数据库期望有很多用户。 News
经常显示。
感谢您的配合+1 – 2010-10-12 13:22:44