当前位置: 首页 > 知识库问答 >
问题:

findAll()方法在Hibernate中提供空结果集

雷骁
2023-03-14

在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;
    }

提前谢谢大家干杯

共有1个答案

羊舌承天
2023-03-14

我看不出有什么问题,假设实体名称是准确的并且存在数据,但是你已经尝试过简短的表示法了吗?

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

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

 类似资料:
  • 方法返回空结果。我正在尝试使用Spring-boot、h2数据库和JPA来实现rest服务。 下面是我的 我的文件包括: 实体: 接口:

  • 我得到异常后,我适当的结果criteria.unique结果()对象报价。目的查询-从数据库Oracle的表“报价”中获得随机结果 org.hibernate.exception.SQLGrammarExc0019:无法提取org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelega

  • 问题内容: 我想用 具有要求构造函数参数的Exception类型。像这样: 有没有一种方法可以创建一个将我的参数值传入的供应商? 问题答案: 当然。

  • 我想用 使用请求构造函数参数的异常类型。类似这样的事情: 有没有一种方法可以创建一个供应商来传递我的参数值?

  • 问题内容: 我的XML看起来像这样- 我正在使用以下代码进行处理- 它输出为- 我的问题是为什么“孩子数量是”分别为5和3?我不应该分别期望2和1吗?因为第一个对象具有“ 和”,第二个对象仅具有“ ” 本质上,我的意图是处理“对象”的子级。 问题答案: 那是因为每个子节点之间有2 ()。 以下内容包括文本节点及其相应的值。 可以通过修改代码来验证: 输出: 其中,3 = 和1 = 。

  • 我需要获取数据库中的所有记录作为数组使用在教义中,我的查询是这样的 即使将水合模式设置为,我也会将结果作为对象 我犯了什么错误?