我是 Spring 新手,尽管我的问题可能看起来不成熟。
这是我一直陷入的一个大障碍。我正在尝试选择正确的方法来实现基于通配符的搜索逻辑,无论是选择 JDBC、Hibernate 还是 JPA 和存储库。
我将演示这个问题。假设我们在网页中有一个搜索表单,有人可能会在其中进行查询以检索 FirstName 和 LastName,并说例如有记录:
- “弗雷德·弗雷德里克森”
- “阿尔伯特詹姆逊”
- “沃森达尔博特”
可以使用 *alb* 之类的东西,我们应该得到:
- “阿尔伯特詹姆逊”
- “沃森达尔博特”
或者使用 ????son 我们期望只得到“Albert Jameson”。
学习 Spring 我发现“like”子句可能只是硬编码的,比如:
@Query("select u from User u where u.firstname like %?1") List findByFirstnameEndsWith(String firstname);
如果使用 JPA 存储库。
我希望我的问题变得更清楚了。
非常感谢您提供任何帮助或相关建议。