簡體   English   中英

使用spring data jpa從db過濾和檢索數據

[英]Filtering and retrieving data from db using spring data jpa

我正在使用reactjs作為前端,並使用spring boot作為后端。 我正在使用Spring Data JPA。

這是我的兩難選擇。我知道編寫邏輯的方式效率很低,並且想知道和理解解決此問題的更好方法。

可以說數據庫中有成千上萬條記錄,我需要不斷且即時地檢索它們(如果可能)

我在UI中有2個字段。 一個是字符串,另一個是整數。

名稱(字符串)SomeKindOfId(int)------------- -------------------

僅在“名稱”字段和/或“ SomeKindOfId”字段中輸入3個字符后,才需要過濾記錄。

如何有效地做到這一點?

目前,我有

findAllByNameAndSomeKindOfId( “%” +名稱+ “%”, “%” +將String.valueOf(SomeKindOfId)+ “%”)

在服

在存儲庫類中是這樣的

Query("Select u from SomeTable u where u.name = :name and CAST(u.someKindOfId As string) like :someKindOfId")
List<CdoDimStPortfolio> findAllByEntityStatusAndDealName(@Param("name") String name,
        @Param("someKindOfId") String someKindOfId);

我使用強制轉換的原因是因為我在數據庫中有someKindOfId作為int

進行有效的數據庫查詢的最佳方法是根據要搜索的值創建索引。

您可以創建一個索引“ name”和“ someKindOfId”,並且這些值的搜索將是立即進行的,因為就像在書本中一樣,如果您逐頁搜索章節,則比查找索引要花費更長的時間,並且尋找它。

例如postgresql:

https://www.postgresql.org/docs/9.1/sql-createindex.html

CREATE INDEX在指定表的指定列上構造索引。 索引主要用於增強數據庫性能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM