hibernate - 合并两个实体并获取数据
问题描述
我有两个实体类 FlcDrawingRequests 和 FlcDrawingRequestStats 。从两个表中获取数据我尝试使用以下查询从两个表中获取数据。无法获取数据。请任何人帮助我。
private static final String querystat = "select dr, ds from
FlcDrawingRequests AS dr,FlcDrawingRequestStats AS ds where dr.id=ds.request_id";
下面是两个实体类
FlcDrawingRequests
@Entity(name = "FlcDrawingRequests")
@Table(name = "drawing_requests", catalog = FlcWsDao.DB_SCHEMA_NAME)
public class FlcDrawingRequests {
@Id
private String id;
@Column(name = "creation_time", nullable = false, updatable = false)
private Date creation_time;
@Column(name = "drawing_spec_format", length = 16)
private String drawing_spec_format;
@Column(name = "end_time")
private Date end_time;
}
FlcDrawingRequests
@Entity(name = "FlcDrawingRequestStats")
@Table(name = "drawing_request_stats", catalog = FlcWsDao.DB_SCHEMA_NAME)
public class FlcDrawingRequestStats {
@Id
private String request_id;
@Column(name = "bb", length = 11)
private Integer bb;
@Column(name = "car_offset_g", length = 11)
private Integer car_offset_g;
@Column(name = "car_sling_type", length = 32)
private String car_sling_type;
@Column(name = "car_type", length = 16)
private String car_type;
@Column(name = "ch", length = 11)
private Integer ch;
}
下面是查询执行:
StringBuilder queryBuilder = new StringBuilder(querystat);
System.out.println("startDate--->" + startDate);
Query query =getEntityManager().createQuery(queryBuilder.toString());
System.out.println("query.list();--->" + query.getResultList().size());
return query.getResultList();
解决方案
private static final String querystat = "SELECT dr, ds FROM
FlcDrawingRequests dr,FlcDrawingRequestStats ds WHERE dr.id LIKE ds.request_id";
并且结果必须存储在其中,List<Object[2]>
因此您必须具有:
List<Object[2]> result=query.getResultList();
所以这里有一个大小等于两个的表列表,列表中的每个元素都包含两个对象,第一个是 FlcDrawingRequests,第二个是 FlcDrawingRequestStats。
推荐阅读
- r - tidyr 文档中的 pivot_longer 问题
- libreoffice-calc - 在 Libra Calc 中应用上下文/Sting 的公式基础
- c++ - 如何在窗口名称中搜索是否存在数组元素?
- javascript - 从最近的 DIV 获取文本包含字符串
- java - 调用特定子类的方法
- javascript - (JS) 重构帮助 - 使用 JavaScript 进行 Farkle 评分
- python - 将重叠间隔列表拆分为 pyspark 数据帧中的非重叠子间隔,并检查重叠间隔上的值是否有效
- node.js - 从nodejs中的另一个文件导入修改后的String类
- snowflake-cloud-data-platform - 雪花错误:SQL 编译错误:位置 6 处的错误行 3 无效标识符 'INTERNAL_ID'
- python - 使用 MySQL 连接器和 for 循环创建表