我想使用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
}
可以/推荐吗?
答案 0 :(得分:-1)
您可以尝试类似
TypedQuery< ReferenceData> query =
em.createNamedQuery(SELECT ID,LABEL,VALUE FROM v_color);
List<ReferenceData> results = query.getResultList();