gpt4 book ai didi

ejb-3.0 - 我从设置这个 TransactionAttributeType.NOT_SUPPORTED 得到什么

转载 作者:行者123 更新时间:2023-12-04 11:56:44 30 4
gpt4 key购买 nike

我碰巧找到了使用这个结构的例子,虽然我不确定我能从中得到什么?

这是否意味着无状态 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 中调用持久、合并或删除)。
  • 在某些情况下可能的性能优化。
  • 无需创建/传递交易。根据 Java EE 5 Tutorial :“因为事务涉及开销,这个属性可能会提高性能。”
  • 根据其他来源(例如 Pro JPA 2),它提供了根本不创建托管实体的实现可能性(这可能比立即创建分离实体更繁重的操作)。
  • 关于ejb-3.0 - 我从设置这个 TransactionAttributeType.NOT_SUPPORTED 得到什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10796172/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com