我使用的是Spring数据jpa,MySQL。我有以下实体
User {
BigDecimal userNo;
String name;
}
Mysql表如下所示,
user(userNo decimal(10, 0), name text);
我想搜索所有用户,这些用户的
用户名以say开头,例如12。如何在spring数据jpa中实现这一点。
我试着用,
userDao.findByUserNoStartingWith(BigDecimal userNo);
但它不工作并抛出异常
组织。springframework。道。InvalidDataAccessApiUsageException:参数值[12%]与预期类型[java.math.BigDecimal(n/a)]不匹配;嵌套异常为java。lang.IllegalArgumentException:参数值[12%]与预期类型[java.math.BigDecimal(n/a)]不匹配
如何使用派生查询或jpa查询进行搜索?
我认为您最好的选择是编写一个类似的查询
select *
from user
where cast(userNo as char) like 12%
由于Spring数据本身无法生成这样的查询,因此您必须自己指定它。由于cast不是JPQL,您还必须告诉Spring数据这是一个本机SQL查询。
public interface UserDao extends JpaRepository<User, BigDecimal> {
@Query(value = "select u from user u where cast(userNo as char) like :userNo%",
native = true)
public List<User> find(@Param("userNo") String userNo);
}
我有以下收藏: 我想通过firstname和/或lastname搜索用户(firstname/lastname/firstname+lastname)。 编辑3: 错误:
我正在使用: neo4j 2.0。1 我有一个具有属性名称的节点人员,我想用Lucene语法搜索该属性。我在我的存储库中使用findByNamelike方法,它非常适合像value*或*value或*etc这样的查询。 但是我需要这样的查询{A*TO D*}。我发现了一个弃用的方法findAllByQuery(名称,查询),用这个方法我可以实现我的需求。 > 我还注意到,如果我从cypher创建节
升级到Spring boot 2.3和Spring data elasticsearch 4.0.9后的问题。我有这样的文档: 这在spring data 3.0中与Jackson配合得很好,但升级到4.0后,Jackson不再可用,现在我收到了一个来自spring的实例化异常,无法实例化URL对象。 例外情况: 任何关于解决方案的想法都将受到赞赏。
我不理解高级REST客户机(它取代了传输客户机)和Spring Data ElasticSearch之间的关系。 有一些教程(https://www.baeldung.com/spring-data-elasticsearch-tutorial)展示了如何使用像getSomethingById()这样的自动实现方法进行JPA风格的查询。他们利用这个接口: 所以如果我想使用最新的官方客户端,对我来说
我正在尝试使用查询搜索出生日期 我如何才能搜索dob在等位日期格式?
发出来攒人品 1.讲述一个项目 2.讲述实习中跟的一个项目 3.有做过ABtest吗,有了解吗 4.有常用的软件吗,最喜欢的一个功能是什么(说了b站,单列视频) B站为什么要上线单列功能,为什么有了双列还要单列 如果你是b站的数据分析师,怎么验证单列功能上线,ABtest核心指标 如果b站用户反馈推的视频太雷同了,作为数据分析师怎么推进解决 5.sql问题,窗口函数是什么 面试评价:框架感薄弱、单