我可以在不创建实体类的情况下对大型 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 使用休眠命名查询吗?的主要内容,如果未能解决你的问题,请参考以下文章