【发布时间】:2017-03-05 14:54:06
【问题描述】:
我正在开发一个基于 EJB 的应用程序,其中我有 JpaUtility 实用程序类。要实现它,我有两个选择:
- 创建一个简单的对象JpaUtility,我在里面放了getAll方法 静态,允许从类名 (JpaUtility.getAll) 进行访问
/* 简单对象实用程序 */
public class JpaUtility
{
public static List<T> getAll(EntityManager manager, Class<T> clazz) {
return manager.createQuery("...."); }
}
- 创建一个包含getAll方法的EJB-Session,然后注入并使用 需要时。
/* EJB 实用程序 */
@Stateless
public class JpaUtility
{
@PersistentContext
private EntityManager manager;
public static List<T> findAll(Class<T> clazz) {
return manager.createQuery("...."); }
}
问题是:哪一个性能最好?简单对象还是 EJB 无状态?换句话说,与简单对象相比,EJB 提供了什么?
【问题讨论】:
-
你也测试过吗?您需要考虑您将以一种或另一种方式将 PersistenceContext 注入您的代码,因此您需要从设计角度或性能角度确定帮助程序类是否有用。测试一下看看
标签: java jakarta-ee ejb pojo stateless