Один класс сущностей для хранилища, который вызывает хранимую процедуру с несколькими объединениями из разных таблиц - PullRequest
0 голосов
/ 25 апреля 2019

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

Есть ли способ иметь один класс сущностей для хранимой процедуры, чтобы уменьшить количество классов сущностей и кода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...