используя Spring JPA, как читать несколько ссылочных данных из представлений БД - PullRequest
0 голосов
/ 20 мая 2019

Я хотел бы получить данные только для чтения из нескольких представлений БД, используя Spring JPA
Эти данные являются просто справочными данными, такими как цвета, типы принтеров, страны и т. Д.
Справочные данные всегда выровнены [ключ, значение]
У меня есть несколько просмотров БД, например:

v_color:   R,RED, # B,BLUE    # G, GREEN     etc
v_country: US,USA # FR,France # TB, Free Tibet   etc
v_printer: EP, Epson # HP, HP # KY, Kyocera 

Я хотел бы иметь для них тот же класс ReferenceData @Entity

@Entity
@Table(name="V_REF_DATA" , schema="APP")
public class ReferenceData {

    @Id
    @Column(name = "ID")
    private Long id; //The rownum!

    @Column(name="LABEL")
    String label;

    @Column(name="VALUE")
    String value;

с одним репозиторием, например:

public interface ReferenceDataRepository extends JpaRepository<ReferenceData ,String> {

    @Query(value = "SELECT ID,LABEL,VALUE  FROM v_color nativeQuery = true)
    List<ReferenceData> getColorValues();

    @Query(value = "SELECT ID,LABEL,VALUE  FROM v_country", nativeQuery = true)
    List<ReferenceData> getCountryCodesValues();

    // same for all others
}

Возможно ли это / рекомендуется?

1 Ответ

0 голосов
/ 30 мая 2019

Вы можете попробовать что-то вроде этого

TypedQuery< ReferenceData> query =
em.createNamedQuery(SELECT ID,LABEL,VALUE  FROM v_color);
List<ReferenceData> results = query.getResultList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...