1

データベースからメッセージを読み取ることになっている JSF とバンドル クラスでEntityManager定義することが効率的かどうかを知りたいですか? TypedQueryBeanのインスタンスを作成し@Stateless、バンドル クラス内でクエリ結果を返す関数を使用するとどうなりますか?

更新:いくつかのコードが含まれています:

protected class DBControl extends Control{
@Override
public ResourceBundle newBundle
        (String baseName, Locale locale, String format, ClassLoader loader, boolean reload)
        throws IllegalAccessException, InstantiationException, IOException
{            
    return new ArticleResources(locale);
}       

protected class ArticleResources extends ListResourceBundle{
    private Locale locale;

    public ArticleResources (Locale locale){
        this.locale = locale;
    }            
    String language = locale.getLanguage();

    @Override
    protected Object[][] getContents(){                  
        TypedQuery<ArticleLcl> query = em.createNamedQuery("ArticleLcl.findForLocale", ArticleLcl.class);
        query.setParameter("lang", language);
        List<ArticleLcl> articles = query.getResultList();
        Object[][] allArticles = new Object[articles.size()][3];                
        int i = 0;
        for(Iterator<ArticleLcl> it = articles.iterator(); it.hasNext();){
            ArticleLcl article = it.next();
            allArticles[i] = new Object[]{article.getArticleId().getArticleId().toString(),article.getArticleTitle()};
            messages.put(article.getArticleId().getArticleId().toString(),article.getArticleTitle());                    
            i++;
        }
        return allArticles;
    }            
}

ところで、このコードは機能せず、私のエンティティ マネージャーは null です。しかし、私は正しいことをしているのだろうか?

4

0 に答える 0