我正在开发基于EJB的应用程序,其中我有 JpaUtility 实用程序类。为了实现它,我有两个选择:
/ *简单对象实用程序* /
public class JpaUtility
{
public static List<T> getAll(EntityManager manager, Class<T> clazz) {
return manager.createQuery("...."); }
}
/ * EJB实用程序* /
@Stateless
public class JpaUtility
{
@PersistentContext
private EntityManager manager;
public static List<T> findAll(Class<T> clazz) {
return manager.createQuery("...."); }
}
问题是:哪一个提供最佳性能?简单对象或EJB无状态?换句话说,与简单对象相比,EJB提供了什么?
答案 0 :(得分:2)
你想要完成的事情看起来像是通用模式DAO&#39;有许多&#34;准备就绪&#34;来自AdamBien的实现:"Generic CRUD Service" 更精细,无需自定义解决方案,并从Apache DeltaSpike接近Spring模板的简单性:DeltaSpike Data module
现在回到原来的问题,EJB或POJO,在您的情况下,当在EE容器中使用实体管理器时,必须是&#34;容器管理&#34;,所以你的&#34;正确&# 34;选项是EJB或CDI,但不是普通的非托管POJO。