小编Luk*_*uke的帖子

在方法上使用@TransactionAttribute(value = TransactionAttributeType.NEVER)

你可以调用一个方法,该方法需要在一个方法中没有事务吗?

@TransactionAttribute(value = TransactionAttributeType.NEVER)
public void DoSomething(final List<Item> items) {

//can you call a method that requires a transaction here ?
for (Item i : items) {
    methodCall(item);

}

@TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW)
public void methodCall(final Item item) {
    // access lazily loaded item properties
    item.getSalesOrder();
    item.getAllocation();

    //throws org.hibernate.LazyInitializationException: could not initialize proxy - no Session

}
Run Code Online (Sandbox Code Playgroud)

.NEVER属性表示它将保证方法不在事务内运行,但是调用该方法中的其他方法

java persistence annotations ejb transactions

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

annotations ×1

ejb ×1

java ×1

persistence ×1

transactions ×1