我正在为我的应用程序使用Spring Data JPA
,它具有以下层;
Spring Data JPA
以及自定义存储库实施我想知道放置@Transactional
的确切位置到底在哪里。目前,我在服务层中使用它,其中正在使用存储库。
答案 0 :(得分:3)
交易属于服务层。例如,如果您有HotelService
,那么代码将如下所示:
@Service("hotelService")
@Transactional
public class HotelServiceImpl implements HotelService {
@Autowired
HotelDao hotelDao;
// The rest of code omited ...
}
答案 1 :(得分:1)
如果您拥有数据库访问权限,则必须使用@Transactional
来获得最佳效果。
请参阅Understanding the Spring Framework's declarative transaction implementation
您只需使用@Transactional注释对类进行注释,将行(
<tx:annotation-driven/>
)添加到您的配置中,然后希望您了解它的工作原理。