如何在Spring JPA中跨多个具有不同列的表执行搜索?

fkaflof6  于 2023-03-22  发布在  Spring
关注(0)|答案(1)|浏览(98)

我正在尝试在我的Java Spring应用程序中引入搜索功能,在那里我需要在不同数据类型的多个表中搜索。理想的方法是什么?我可以使用任何技术堆栈的关键字?这里有一个简短的问题陈述。

@Entity
public class Organization{
private String parentOrgName;
private String group;
private String address;
private String pin;
}

@Entity
public class Product {
private String name;
private String description;
private String url;
}

我需要创建一个接受searchKeyword参数的函数,并根据字符串在组织实体中的parentOrg、组、地址、pin和产品实体中的名称、描述执行搜索。

private SearchDTO search(String searchQuery){
// Searches different table and most of their columns.

}

这是一个例子。我需要在多个表中搜索,比如4-5。这样做的优化方法是什么?可以使用什么技术堆栈来简化此功能?

j5fpnvbx

j5fpnvbx1#

您可以使用本机查询:

@Query(value = "select id, 'Orgazination' from Organization where ... union select id, 'Product' where ...", nativeQuery = true)

通过这种方式,您可以检索数据以获得完整的实体数据。
您还可以使用MongoDB,Lucene,Elasticsearch...

相关问题