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

Spring data jpa投影无法提取ResultSet

徐星阑
2023-03-14

我试图使用下面的查询将实体映射到投影,但我得到的错误为

@Query("select rf.rfqID as rfqID,rf.creationDate as creationDate," +
   "rf.deadLineDate as deadLineDate,rf.details as details," +
   "rf.message as message, rf.rfqDoc as rfqDoc," +
   "CASE WHEN (rf.creationDate > CURRENT_DATE) THEN 'open' ELSE 'closed' END as status," +
   "rf.rfqMembers as rfqMembers " +
   "from RFQ rf where rf.createdBy = ?1")
Page<RfqDto> loadAllRfq(String creator, Pageable pageable);

在我的Dto中,我有一个额外的状态列,我不想在db中保留它,而是希望通过查询获得状态

这是我的投影界面

public interface RfqDto {
    String rfqID();
    Date creationDate();
    Date deadLineDate();
    String details();
    String message();
    String rfqDoc();
    String status();
    List<RfqMember> rfqMembers();
}

共有1个答案

严景焕
2023-03-14

您的问题的根本原因在这里:

在我的Dto中,我有一个额外的状态列,我不想在db中保留它,而是希望通过查询获得状态

正如文档中所解释的:

因此,您不能为您的案例使用spring data jpa投影。您也不能使用Hibernate/JPA投影,因为它不支持行结果中的集合

您可以尝试使用Blaze-Persistence实体视图。例如,请参阅以下答案。

 类似资料:
  • 当我尝试这个函数时,我得到一个错误。 CRSError:无效的投影: epsg: 4326:(内部程序错误:proj_create: SQLite错误对SELECT名称,类型,coordinate_system_auth_name,coordinate_system_code,datum_auth_name,datum_code,area_of_use_auth_name,area_of_use_

  • 我想在图像空间中把3D点转换成2D点。根据hartley和zisserman的《多视图几何学》一书,我们用DLT计算摄像机射影矩阵只需要6个点,我做到了。有了矩阵,我能够准确地重新投影点。 虽然投影矩阵工作正常,但从投影矩阵中提取的固有参数却不正常,每次都相差很小mm。 下面是我能够提取的内在参数的示例 谢谢你。

  • 问题内容: 我试图在OpenGL中使用gluUnProject,首先我需要获取projectoin,model_view和viewort矩阵。根据我在网上找到的例子 但是我收到错误消息“ ValueError:glGetFloatv需要1个参数(pname),收到2:(GL_PROJECTION_MATRIX,[])” 那么,我应该使用什么来获取这些矩阵? 问题答案: 也许: 之后在变量中应该是投

  • 我正在尝试使用Geopandas和Matplotlib绘制西班牙地图。我使用的是您在下面看到的GeoJSON文件,其中的几何体是地理坐标(EPSG 4326) 我想在墨卡托投影中绘制地图,但当我尝试使用 我收到一个错误说: 我已按照本手册中的说明进行操作http://geopandas.org/projections.html. 其中指出,如果geopandas数据帧不与CRS的信息一起计算,则必

  • MongoDB 中的投影即查询指定的字段,而不是直接查询文档的全部字段。比如说某个文档中有 5 个字段,而我们只需要其中的 3 个字段,那么就可以使用 MongoDB 中的投影来指定需要查询的 3 个字段。 在《 MongoDB查询文档》一节中我们介绍的 find() 方法,在使用 find() 方法时,如果不设置其中的第二个参数,那么在查询时将返回文档中的所有字段,想要限制要查询的字段,您就需要

  • 举个简单的例子来说明正交投影与透视投影照相机的区别。使用透视投影照相机获得的结果是类似人眼在真实世界中看到的有“近大远小”的效果(如下图中的(a));而使用正交投影照相机获得的结果就像我们在数学几何学课上老师教我们画的效果,对于在三维空间内平行的线,投影到二维空间中也一定是平行的(如下图中的(b))。 (a)透视投影,(b)正交投影 那么,你的程序需要正交投影还是透视投影的照相机呢? 一般说来,对