我在我的应用程序中使用Spring Data JPA,它具有以下几层:


具有接口和Impls的服务层(带@service的注释)
Spring Data JPA的CRUD存储库层,以及自定义存储库实现
实体层


我想知道放置@Transactional的正确位置到底在哪里。当前,我在使用存储库的服务层中拥有它。

最佳答案

事务属于服务层。例如,如果您有HotelService,则代码如下所示:

@Service("hotelService")
@Transactional
public class HotelServiceImpl implements HotelService {
    @Autowired
    HotelDao hotelDao;

    // The rest of code omited ...
}

08-04 18:33