У меня есть ситуация, когда у меня есть несколько таблиц в схеме, поддерживаемой проектом, в котором я нахожусь. Эти таблицы имеют соответствующие сопоставленные сущности jpa.
Однако я хочу обогатить одну из сущностей парой полей из другой схемы. Я думал, что для этого можно использовать пользовательский выбор SQL, но я не могу понять, как это сделать.
Обогащенные данные предназначены только для отображения и не должны обновляться.
Я играл с @Subselect, @NamedNativeQuery и @Loader, но безуспешно. Очень упрощенный код ниже.
@Entity
@Table(name = "MY_TABLE")
public class MyTableEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "XXX_SEQ_GEN")
@SequenceGenerator(name = "XXX_SEQ_GEN", sequenceName = "XXX_SEQ", allocationSize = 1)
private Integer id;
... some properties
private MyPojo myPojo;
public MyPojo getMyPojo() {
return myPojo;
}
public void setMyPojo(MyPojo myPojo) {
this.myPojo = myPojo;
}
}
public class MyPojo {
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
Hibernate - это реализация jpa.