2011-02-23 4 views
1

개체를 읽고 그 개체를 단순히 삭제하면 java.lang.StackOverflowError가 발생합니다!최대 절전 모드로 개체를 읽은 다음 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 및 상황에 맞는 좋은 인스턴스화된다.

여기에()를 취득 및 삭제입니다() 메소드

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

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

내가 재귀 여기 일이있을 수 있는지 궁금합니다!

상담하십시오. 뻔뻔하게 여기 숨겨져 오버 플로우 스택을 일으키는

답변

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

당신이 SO 얻을 당연.

+0

내가 여기서 뭘 잘못하고 있니? 개체를 삭제하는 중입니다. – supernova

+0

전혀 삭제되지 않습니다. 당신은 단지 재귀 호출을하고 있습니다. –

+0

오, 알겠습니다 .... 나는 hibernate 템플릿 delete()를 호출하려고했습니다. 내가 바꿀거야. 감사합니다 – supernova

1

재귀 :

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

Tks. 내 나쁜 .. 나는 HibernateTemplate에서 delete를 호출 할 것을 권고한다. – supernova

관련 문제