У меня есть таблица NewsFeed
.
NewsFeed
+ идентификатор
+ fromUserId
+ targetId
+ типДизайн базы данных: большая таблица и запрос объекта для каждой строки в dataTable
поэтому новость выглядит так: Tom Wakefield
прокомментировал профиль Peter Smith
«s.
Так либо добавить еще два поля в мой NewsFeed
вызов fromUserName
и targetUserName
ИЛИ
Для каждой строки я показываю в моей 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 –