StackOverflowError при чтении и удалении объекта в спящем режиме - PullRequest
1 голос
/ 24 февраля 2011

Я читаю объекты, а затем просто удаляю их, и он выдает java.lang.StackOverflowError!

public class TestDummy extends TestCase {

    @Autowired
    private ApplicationContext context;

    @Autowired
    private AccountDao accountDao;



public void testDeleteAccount(){

        Account acc = accountDao.get("9BE4BFA718EA4B4EE044000077B05A84");
        System.out.println("Account name is "+acc.getAccountName());
        accountDao.delete(a);

    }

}

accountDao и контекст являются хорошими экземплярами.

вот методы get () и delete ()

   public Account get(String id) {
    Account acc = getHibernateTemplate().get(Account.class, id);
    return  acc;
}

public void delete(Account account) {
    delete(account);
}

Интересно, что здесь может происходить рекурсивно!

Пожалуйста, совет.

Ответы [ 2 ]

2 голосов
/ 24 февраля 2011
public void delete(Account account) 
{
   delete(account);
}

Не удивительно, что вы получаете ТАК.

1 голос
/ 24 февраля 2011

Рекурсия, вызывающая переполнение стека, здесь бессовестно скрывается:

public void delete(Account account) {
    delete(account);
}
...