Использование @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

}

Атрибут .NEVER говорит, что он гарантирует, что метод не будет запущен внутри транзакции, но как насчет вызовов других методов внутри этого метода

5
задан Luke 24 June 2011 в 09:15
поделиться