@Target(value={METHOD,TYPE})
@Retention(value=RUNTIME)
@Inherited
public @interface Transactional
@Transactional
will start a new transaction before the method executes
and commit it after the method returns.
If the method throws an exception, the transaction will be rolled back unless you
have specifically requested not to in the ignore()
clause.
Similarly, the set of exceptions that will trigger a rollback can be defined in the rollbackOn()
clause. By default, only unchecked exceptions trigger a rollback.
Modifier and Type | Optional Element and Description |
---|---|
java.lang.Class<? extends java.lang.Exception>[] |
ignore
A list of exceptions to not rollback on.
|
java.lang.Class<? extends java.lang.Exception>[] |
rollbackOn
A list of exceptions to rollback on, if thrown by the transactional method.
|
public abstract java.lang.Class<? extends java.lang.Exception>[] rollbackOn
public abstract java.lang.Class<? extends java.lang.Exception>[] ignore