我有一个返回大量数据的方法,我应该为此方法使用@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
。该方法执行JPA查询并加载表的全部内容(约1000行)。
最佳答案
这种方法的客户-已经在交易中了吗?当您使用NotSupported时,调用方事务将被挂起。如果不是,我只说“从不”作为事务类型。从来没有更好,因为调用者知道他们不应从事务内部调用此方法。更直接的契约(Contract)。
对于处理更多的方法,我们始终使用“从不”,以便开发人员立即意识到如果它们已经参与事务,则不要调用它。希望能帮助到你。
关于methods - 只读方法的EJB 3事务属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1233446/