我正在开发一个基于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提供了什么呢?
发布于 2016-10-24 04:40:33
您想要完成的任务看起来像‘泛型模式DAO',有许多来自AdamBien:“通用CRUD服务”的“就绪”实现更详细,消除了对自定义解决方案的需求,并接近于Apache DeltaSpike:DeltaSpike数据模块的Spring模板的简单性
现在回到原来的问题,EJB或POJO,在您的示例中,当在EE容器中使用实体管理器时,必须是“容器管理”,所以您的“正确”选项是EJB或CDI,而不是普通的非托管POJO。
https://stackoverflow.com/questions/40208086
复制相似问题