繁体   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