Можете ли вы вызвать метод, который требует транзакции внутри метода, который этого не делает?
@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 говорит, что он гарантирует, что метод не будет запущен внутри транзакции, но как насчет вызовов других методов внутри этого метода