我可以在不创建实体类的情况下对大型 sql 使用休眠命名查询吗?

Posted

技术标签:

【中文标题】我可以在不创建实体类的情况下对大型 sql 使用休眠命名查询吗?【英文标题】:Can i use hibernate named query for large sql without creating entity class? 【发布时间】:2014-08-02 08:53:23 【问题描述】:

我有一个非常大的 sql 查询(多个连接 - 多个表),我使用它使用 hibernate 从多个表中检索数据。sql 保存在一个常量 java 接口中作为最终字符串,我在 hibernate 本机中使用它sql来执行查询。

现在查询可以更改。我可以在休眠映射 xml 文件中用作命名查询,而无需为该查询创建任何实体类。

List data= session.getNamedQuery("dummyQuery").list();

对此有任何替代解决方案吗?我不想将大型查询保存在 java contant 文件中。

【问题讨论】:

【参考方案1】:

是的,您绝对可以这样做。但是,如果要将返回的结果映射到 POJO,则必须使用结果集转换器。

【讨论】:

在没有任何实体类的情况下使用名称查询时出现异常...未提供类名或实体名" 您可以发布查询的 内容吗?

以上是关于我可以在不创建实体类的情况下对大型 sql 使用休眠命名查询吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 Spark SQL 的情况下对 Spark 中的数据帧进行排序?

在不使用操作的情况下对 Spark 进行基准测试

如何在不使用 GROUP BY 或 PARTITION BY 的情况下对 Oracle SQL 中的数据进行分组

如何在不单独指定所有列的情况下对所有列的 SQL 结果进行排序?

SQL:如何在不覆盖结果的情况下对表的同一列进行多次连接?

在没有 PureQuery 的情况下对 DB2 执行静态 SQL 查询