我在我的应用程序中使用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 ...
}