@Transactional
以前は、すべての Spring サービス (クラス) に注釈を追加していました。そして、私は考えました: トランザクションの動作が同じである必要がある場合、本当にそうしなければならないのでしょうか? (もちろん、そうすべきでない場合は、メソッドに他のパラメーターを追加します。) を使用した継承に関する有用な@Transational
情報を見つけようとしました。次の例でとを試してみましたが、 のように見えます。@Transactional
@Inherited
@Transactional
@Inherited
rollbackFor
noRollbackFor
@Transactional
GenericService
doSmthSpecific
@Transactional
public abstract class GenericService {
public void doSmthGeneric() {
}
}
public class SpecificService extends GenericService {
public void doSmthSpecific() {
}
}
そして、インターフェースだった場合、うまくいかないGenericService
と思います。「間違っている場合は訂正してください」という質問のようなものだと思います。実際にスーパークラスのみに追加しても問題ないかどうか、ここで何かが欠けているかどうかを知りたいです。詳細な説明(またはそのような説明へのリンク)をいただければ幸いです。@Transactional