findAll() 方法在 Hibernate 中给出空结果集

问题描述 投票:0回答:1

在hibernate中,我在Dao层使用了

findById()
findAll()
findById()
方法按我的预期工作,但是
findAll()
总是返回空结果集,我仍然无法弄清楚原因,任何人都可以帮助我为了解决这个问题,

注意:没有异常,只返回空列表

这是我的代码

查找全部方法

 public List<T> findAll() {
        Query query = getSession().createQuery("SELECT obj FROM " + persistentClass.getSimpleName() + " obj");
        return query.list()
    }

通过Id方式查找

public T findById(Long id) {
        T result = (T) getSession().get(getPersistentClass(), id);
        return result;
    }

getSession方法

protected Session getSession() {
        if (session == null)
            session = tenantBasedSessionFactory.getTenantBasedSession("tenantId");
//            throw new IllegalStateException("Session has not been set on DAO before usage");
        return session;
    }

提前谢谢您 干杯

hibernate jpa-2.0
1个回答
0
投票

假设实体名称准确并且数据存在,我看不出有任何问题,但是您已经尝试过简短符号了吗?

Query query = getSession().createQuery("FROM " + persistentClass.getSimpleName());

我发现最好阅读简单的“获取全部”查询,因为如果只返回一个实体,则不需要任何别名。

© www.soinside.com 2019 - 2024. All rights reserved.