gpt4 book ai didi

jakarta-ee - JTA和Spring @Transactional批注之间的区别

转载 作者:行者123 更新时间:2023-12-04 06:43:35 28 4
gpt4 key购买 nike

我已经开始使用Spring的@Transactional批注,它为管理事务提供了很多便利。但是,现在在我们的代码中使用此批注使我们依赖于Spring。我知道使用JPA类型的东西有一个javax persistence包,如果使用JPA批注,我们可以用各种方式标记代码,但是由于它们全部来自javax.persistence,因此我们的代码不依赖于任何特定的实现或ORM。

我想我的问题是,交易事务是否有任何类似的注释。我找到了一个javax jta包,但是我不确定Spring可以实现任何通用注释。基本上,我只是想知道是否可以在管理事务功能的方法上放置某种通用的类似于javax的注释,以使我们不依赖于Spring。

最佳答案

我不认为JavaEE 6提供像Spring那样的事务划分注释。我认为,最接近的类比是使用EJB无状态 session Bean,它本质上是事务性的,但没有这样明确地标出(如果我错了,请纠正我)。

您可以选择将代码耦合到哪个API。使用Spring的@Transactional的优点是您独立于所使用的特定事务API(@Transactional可以与JTA,JPA,Hibernate或原始JDBC事务一起使用,而无需更改代码)。但是,当然,您与Spring息息相关。

如果您想要的是注释样式,那么除非您希望完全拥抱JavaEE并使用EJB 3.x样式的注释,否则我看不到Spring的替代品。

关于jakarta-ee - JTA和Spring @Transactional批注之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10505160/

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