ejb-3.0 – 设置此TransactionAttributeType.NOT_SUPPORTED可以
发布时间:2020-12-15 00:36:17 所属栏目:Java 来源:网络整理
导读:我碰巧找到了使用这个结构的例子,虽然我不知道我能从中得到什么? 这是否意味着无状态EJB中的所有select语句都应遵循此规则? @Statelesspublic class EmployeeFacade { @PersistenceContext(unitName="EmployeeService") EntityManager em; @TransactionAtt
我碰巧找到了使用这个结构的例子,虽然我不知道我能从中得到什么?
这是否意味着无状态EJB中的所有select语句都应遵循此规则? @Stateless public class EmployeeFacade { @PersistenceContext(unitName="EmployeeService") EntityManager em; @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public List<Department> findAllEmployees() { return em.createQuery("SELECT e FROM Employee e",Employee.class) .getResultList(); } 我从中得到了什么? 谢谢. 解决方法
你得到的是:
>相对正式的方式来告诉您的方法不需要事务(因此您知道它不会在EntityManager中调用persist,merge或remove). >无需创建/传递交易.根据Java EE 5 Tutorial:“由于交易涉及开销,这个属性可能会提高性能.”>根据其他来源(例如Pro JPA 2),它提供了实现根本不创建托管实体的可能性(这可能比立即创建分离实体更重要). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |