Hibernate - класс @Entity без поля @Id - PullRequest
0 голосов
/ 28 февраля 2020

У нас есть приложение Spring Boot, в котором мы используем Hibernate для подключения к Oracle БД.

Наш класс @Entity отображается на REFCURSOR при попытке выполнить сохраненный про c с использованием @NamedStoredProcedureQuery. К сожалению, REFCURSOR не возвращает уникальный / первичный ключ в виде столбца, который можно использовать для сопоставления его с @Id. Также невозможно создать комбинацию из нескольких столбцов для создания @EmbeddedId.

Как я могу продолжить в таком сценарии ios, убедившись, что поле @Id не пытается сопоставить ни один столбец, возвращенный REFCURSOR, и является просто полем заполнения.

PS: Невозможно изменить что-либо в базе данных

@Entity
public class User {

    @Id
    private long id;

    @Column (name = "uname")
    private long name;

}

При попытке выполнить сохраненный про c.

возникает следующее исключение.

'Неверное имя столбца'.

Потому что я думаю, что это идет к поиску поля id в наборе результатов, полученных от Stored pro c. Но поле id отсутствует в этом наборе результатов.

...