当前位置: 首页 > 知识库问答 >
问题:

Spring Data JPA有没有办法使用方法名解析来计算实体数?

景鸿晖
2023-03-14

Spring Data JPA支持使用规范对实体进行计数。但是它有没有办法使用方法名解析来计算实体的数目呢?假设我想要一个CountByName方法来对具有特定名称的实体进行计数,就像一个FindByName方法来获取具有特定名称的所有实体一样。

共有1个答案

尹赞
2023-03-14

从spring数据1.7.1.Release开始,您可以通过两种不同方法来实现,

  1. 新的方式,对count和delete查询使用查询派生。读这个,(例5)。示例,
    public interface UserRepository extends CrudRepository<User, Integer> {
        long countByName(String name);
    }
    public interface UserRepository extends CrudRepository<User, Integer> {
        @Query("SELECT COUNT(u) FROM User u WHERE u.name=?1")
        long aMethodNameOrSomething(String name);
    }

或者还使用@param注释,

public interface UserRepository extends CrudRepository<User, Integer> {
    @Query("SELECT COUNT(u) FROM User u WHERE u.name=:name")
    long aMethodNameOrSomething(@Param("name") String name);
}

也检查这个所以回答。

 类似资料:
  • 我正在使用100个实体(使用JHipster)设置一个新的Spring Boot API,我的问题是:鉴于我有一组存储库层方法,我希望我的所有存储库都能够调用这些方法。 我已经尝试制作所有接口来扩展('RepositoryQuery'是我默认的自定义接口名称后缀),然后使用特定于实体的类。请注意,所有的类扩展了一个泛型实现类,名为。 请注意,给定正则表达式中的“.*”代表我的持久实体集中的任何实体

  • 我需要调用一个方法:myMethod(双...选项卡),但我通过其他方法调用获取此数组的元素。现在我做的是: 但是有了它,myMethod是这样声明的: 我想知道如何使用bytebuddy来代替: 或 此外,属性“form”是一个动态检索方法,因此在“for”中执行的循环数永远不会相同。所以有时我可以调用这样的表单方法:或或

  • 问题内容: Spring Data JPA支持使用规范对实体进行计数。但是,它有什么方法可以使用方法名称解析来计数实体?假设我要一种方法来计算具有特定名称的实体,就像获取所有具有特定名称的实体的方法一样。 问题答案: 从Spring Data 1.7.1.RELEASE开始,你可以使用两种不同的方法来实现它, 1)新方法,对计数和删除查询都使用查询派生。例, 2)旧方法,使用@Query注释。 例

  • 问题内容: 有没有办法使用泛型说“此方法返回”? 当然,我想在子类中重写此方法,因此声明应与一起使用。 这是一个例子: 根本不起作用:我收到“类型不匹配:无法从Base转换为T”。如果我强制使用强制转换,则覆盖将失败。 问题答案: 不,无法表达这一点。只需声明该方法即可返回类的类型。Java具有协变返回类型,因此无论如何您都可以重写方法以返回更特定的类型。 如果您想为此添加一些标记,则可以随时引入

  • Spring Data JPA可以使用规范求和。但是它有办法使用方法名解析来求和实体列吗?比方说,我想要一个方法suCreditAmount来求和具有特定名称的列,就像一个方法findByCreditAmount来获取具有特定信用额的所有实体一样。

  • 我有如下代码- 在这里,当app.run(host='127.0.0.1 ',port='80 ')运行时,会给出URL - http://127.0.0.1/getcode。我需要手动打开输入用户名和密码,然后又一个窗口来输入YOB,然后给我这样的东西- 我的问题是,有没有一种方法可以避免手动打开浏览器,输入凭证并获取代码。我们可以用python来解析整个事情吗?