hibernate 根据id获取对象时报错StackOverflowError


java.lang.StackOverflowError
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)
    com.javabycode.springmvc.dao.contentDaoImpl.getByID(contentDaoImpl.java:28)

具体代码块


@Autowired
    private SessionFactory sessionFactory;

    protected Session getSession(){
        return sessionFactory.getCurrentSession();
    }

    @SuppressWarnings("unchecked")
    public T getByKey(PK key) {
        return (T) getSession().get(persistentClass, key);
    }
···
求大神解答,我查询资料后说是可能session未关闭,但是我使用的是getCurrentSession方法呀。
Hibernate框架下有三个数据库表,请问是因为一对多的问题吗?但是我三个表里面没有相关数据呀。

这个应该是你28行那里方法嵌套调用了自己,产生的栈溢出