EJB 3.1 (アプリケーションは WAR としてパッケージ化されています) を使用して Glassfish v3.0.1 で実行されている JavaEE6 アプリケーションがあり、すべての EJB は @LocalBeans です。現在、私はJSF2で使用するためのFacesConverterを書いています.IDからEntityを取得するにはEntityManagerが必要です。
JEE6を使用している今、FacesConverter内にEntitymanagerを取得するための最良かつ最もクリーンな方法はどれでしょうか? または、Expression Language を介して EJB にアクセスすることはできますか? Weld/CDI は FacesConverter 内では機能しませんか?
@FacesConverter(value="subscriptionListConverter")
class SubscriptionListConverter extends Converter {
public Object getAsObject(FacesContext ctx, UIComponent comp, String value) {
var id:Long = Long.parseLong(value);
// How to get the entitymanager?
return em.find(User.getClass, id);
}
public String getAsString(ctx:FacesContext, comp:UIComponent, value:Object) {...}
}
申し訳ありませんが、これが重複していないことを願っていますが、ほとんどの場合、わずかに異なり、あまり役に立ちませんでした。