我有一个存储库,该存储库在数据库中调用存储过程。该存储过程连接到三个不同的表,并返回一个列表,其中每行包含5个变量。这些变量来自3个不同的表。 我如何为此拥有一个实体类?
我的实体类
@Table(name = "invoicing_batch")
@Entity(name = "invoicing_batch")
@NamedStoredProcedureQuery(name = "invoicebatchMon",
procedureName = "sp_invoicebatch_Mon",
resultClasses = { Billing.class })
public class Billing implements Serializable {
@Id
@Column(name = "ibi_batch")
private Long ibiBatch;
@Column(name = "ac_name")
private String acName;
....
存储库类:
@Repository
public interface BillingRepository extends JpaRepository<Billing, Long> {
@Procedure(name = "Billing.invoicebatchMon")
List<Billing> getBillingStatusMon();
当应用程序运行且调用此方法时,出现异常:
o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 207, SQLState: S0001
o.h.engine.jdbc.spi.SqlExceptionHelper : Invalid column name 'ac_name'.
这是因为ac_name
不在表invoicing_batch
中。 (我的实体类中的多个列来自不同的表)
是否可以为存储过程提供单个实体类,以减少实体类和代码的数量?