使用休眠读取然后删除对象时出现 StackOverflowError

发布于 2024-10-19 02:16:23 字数 771 浏览 6 评论 0原文

我正在读取一个对象,然后简单地删除它,它会抛出 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

和 context 实例化良好。

这是 get() 和 delete() 方法

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

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

我想知道这里会递归发生什么!

请指教。

I am reading an objects and then simply deleting it and it throws 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 and context are instantiating good.

here is get() and delete() methods

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

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

I wonder what can be recursively happening here!

Please advice.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不打扰别人 2024-10-26 02:16:23
public void delete(Account account) 
{
   delete(account);
}

难怪你会这样。

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

No wonder you get SO.

携余温的黄昏 2024-10-26 02:16:23

导致堆栈溢出的递归被无耻地隐藏在这里:

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

Recursion causing stack to overflow is shamelessly hidden here:

public void delete(Account account) {
    delete(account);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文