バックエンドを「リソース」(Restlet など) として公開し、サービス層を排除して、Rest リソースが Dao と直接やり取りできるようにしたいと考えています。このように、リソースはコントラクトであり、インターフェイスではありません。
トランザクションが Spring によってローカルで管理されている場合、Spring MVC 3 コントローラーで @Transactional セマンティクスを使用する際に問題はありますか? ロールバックと例外のキャッチに関する問題はありますか?
@RequestMapping(value = "/user/{userId}", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.OK)
@Transactional
public void updateUser(@PathVariable Long userId, @RequestBody ProfileUser user) {
// dao update
}
spring config:
<tx:annotation-driven />
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">