У меня есть хранилище, которое вызывает хранимую процедуру в моей базе данных. Хранимая процедура объединяется в трех разных таблицах и возвращает список, в котором каждая строка содержит 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
. (Несколько столбцов в моем классе сущностей взяты из другой таблицы)
Есть ли способ иметь один класс сущностей для хранимой процедуры, чтобы уменьшить количество классов сущностей и кода?