gpt4 book ai didi

java - EJB - 如何按非索引字段搜索?

转载 作者:太空宇宙 更新时间:2023-11-04 08:16:13 25 4
gpt4 key购买 nike

我正在尝试在我的数据库上创建“搜索引擎”。

我有一个包含 ID、名称和描述的表。当我有一个 Id 时,我可以通过 find() 获取具有该 Id 的记录。但如果我想按名称或描述获取记录,我该怎么做呢?我必须将名称设置为索引吗?

谢谢。

最佳答案

作为一般规则,如果您必须经常通过其中一个字段查询表,并且该表包含许多记录,那么在数据库中为该字段创建索引可能是个好主意。

关于另一个问题:如果您需要按名称、描述或其他字段获取记录并且您正在使用 JPA,则使用 JPQL查询语言。例如,假设实体的类型为 MyEntity(包含字段 idnamedescription),以下查询将返回名称为 aName 的实体列表:

EntityManager em = ...         // get the entity manager
Query q = em.createQuery("SELECT me FROM MyEntity me WHERE me.name = :name");
q.setParameter("name", aName); // aName is the name you're looking for
List<MyEntity> results = (List<MyEntity>) q.getResultList();

tutorial 中了解有关 Java Persistence API 的更多信息.

关于java - EJB - 如何按非索引字段搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10368898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com