JPA多表查询映射自定义实体类(包含两个表字段)

本文记录了使用JPA进行多表查询的解决方案,详细介绍了如何创建包含仓库表(bas_stock)和物品表(bas_product)字段的自定义实体类SelectStockClass,并实现查询转换。在实体类中,需要提供无参和有参构造函数以避免转换异常。在SelectStockClassRepository中,编写SQL查询获取所需字段,并返回List<Object[]>。在service层,通过调用repository方法并将查询结果转换为SelectStockClass实体类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天碰到使用jpa进行多表查询的问题,需要同时查询仓库表(bas_stock)和物品表(bas_product),然后将两个表的一些字段显示在页面上,将解决过程记录下来。

1.创建实体类SelectStockClass,包含仓库表和物品表的字段。如车间班组号,仓库班组号是仓库表的字段,物资编码物品名称是物品表的字段。实体类创建需要无参构造方法和有参构造方法,用于实体类的转换,如果缺少构造方法会报异常。java.lang.NoSuchMethodException: com.mf.entity.SelectStockClass.(java.lang.String, java.math.BigDecimal, java.lang.String, java.lang.String)

package com.mf.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class SelectStockClass implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	private String productGuid;//物品guid
	
	private BigDecimal quantity;//数量
	
	private String classgroupNumber;//车间班组号
	
	private String class_workshopDateTime;//车间班执行时间
	
	private String classId;//仓库班组号
	
	private String classNowDateTime;//仓库班组执行时间

	private String productId;//物资编码
	
	private String productName;//物资名
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值