Я сам изучал это и обнаружил, что я не уверен на 100%, но это выглядит многообещающе.
В моем случае у меня есть столбец FK в представлении, который может эффективно функционировать как PK - любой данный экземпляр этого постороннего объекта может появиться только один раз в представлении. Я определил два объекта из этого одного поля: один обозначен как идентификатор и представляет необработанное значение поля, а другой - только для чтения и представляет объект, на который ссылаются.
@Id
@Column(name = "foreignid", unique = true, nullable = false)
public Long getForeignId() {
...
@OneToOne
@JoinColumn(name = "foreignid", insertable=false, updatable=false)
public ForeignObject getForeignObject() {
...
Как я уже сказал, я не уверен на 100% в этом (и я просто удалю этот ответ, если он не сработает), но мой код прошел определенную точку сбоя.
Не знаю, если это относится к вашей конкретной ситуации. И есть отличный шанс, что через 11 месяцев вам уже все равно. :-) Что за черт, этот значок "Некромант" не просто зарабатывает сам ...