Mah*_*leh 2 spring hibernate java-ee
我@Transactional在我的service类上使用调用DAO方法,我想知道如何在特定服务方法上使用只读.
我是否必须@Transactional使用readonly=true此服务方法定义额外内容,还是有其他方法?
从春季API 在这里.
在评估方法的事务设置时,派生最多的位置优先.在以下示例的情况下,DefaultFooService类在类级别使用只读事务的设置进行注释,但同一类中updateFoo(Foo)方法的@Transactional注释优先于定义的事务设置在班级.
@Transactional(readOnly = true)
public class DefaultFooService implements FooService {
public Foo getFoo(String fooName) {
// do something
}
// these settings have precedence for this method
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
public void updateFoo(Foo foo) {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
@Transactional注释是指定接口,类或方法必须具有事务语义的元数据.例如,"在调用此方法时启动全新的只读事务,暂停任何现有事务".默认的@Transactional设置如下:
传播设置为PROPAGATION_REQUIRED.
隔离级别为ISOLATION_DEFAULT.
事务是读/写.
事务超时默认为基础事务系统的默认超时,如果不支持超时,则默认为none.
任何RuntimeException都会触发回滚,而任何已检查的Exception都不会.
| 归档时间: |
|
| 查看次数: |
7358 次 |
| 最近记录: |