J'ai une table de NewsFeed
.
NewsFeed
+ id
+ fromUserId
+ targetId
+ TypeBase de données de conception: plus grande table vs interroger l'entité pour chaque ligne de données Tableau
si les nouvelles sont comme ceci: Tom Wakefield
a commenté le profil de Peter Smith
.
Alors soit j'ajouter deux champs dans mon NewsFeed
appel fromUserName
et targetUserName
OU
Pour chaque ligne que j'affiche dans mon dataTable je requête du 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>
puis à l'intérieur myBean.java
myBean.java
public String getName(Long userId){
User u = mySessionBean.findUserById(userId);
return u.getFName() + " " + u.getLName();
}
Quel chemin est le meilleur? Est-ce que faire une requête à chaque ligne me fait vraiment beaucoup mal en terme de performance?
Note: la base de données s'attend à avoir beaucoup d'utilisateurs. News
sont afficher très souvent.
Nous vous remercions de votre participation +1 –