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

为Spring Data运行的每个查询设置注释

陈功
2023-03-14

Spring应用程序完成的所有MongoDB查询都必须有注释,现在这是通过调用org.springframework.data.mongodb.core.query.Query上的方法注释来完成的。

public <T> T findOne(Query query, Class<T> klass) {
    query.comment("my comment");
    return mongoTemplate.findOne(query, klass);
}

这意味着我必须使用MongoTemplate对象来进行所有查询,我失去了Spring数据提供的抽象(我必须实现该方法,而不仅仅是声明它)。

有没有办法配置Spring数据,为每个查询应用一个函数(设置注释)?

非常感谢。

共有1个答案

章盛
2023-03-14

看起来您可以通过AOP实现所需的行为。互联网上应该有很多示例,例如:堆栈溢出:如何检测建议Spring Data JPA存储库

 类似资料:
  • 问题内容: 我想知道是否可以在@Query批注中包含子查询(org.springframework.data.jpa.repository.Query;) 我在第一个子查询括号上得到QuerySyntaxException。 这是我的查询 谢谢! 问题答案: 不可以,JPQL查询的select子句中不能包含子查询。 JPQL在WHERE和HAVING子句中支持子查询。它可以(至少)是ANY,SOM

  • 想象以下DB表: 并非每个客户端都自动成为用户,但用户可能拥有客户端帐户。Users表只包含注册用户,如果用户是客户端(不必是),则创建客户端帐户。 我已成功地使这些表之间的关系是拉威尔。能言善辩的提问很好,例如: clients.php user.php 问题是,当我查询这些表时: 鉴于我必须做很多如果,比如: laravel中是否有任何变通方法允许我在每个select查询上格式化集合?类似于A

  • 问题内容: 我进行了很多搜索,但找不到有用的答案: 我想通过用户给我一个开始和结束日期来列出用户定义的时间段的总计。从开始日期到开始日期之间的每次总计应该相加,并在每一天添加1天。因此最后一行给出了从开始到结束日期的总计。示例:-给定期间=开始2013-01-01,结束= 2013-01-31 所以我有一个查询谁计算所有天: 我有一个查询谁每天计算总数 现在将这两者结合起来很难得到我的最终结果。

  • 问题内容: 所以我的数据库中有两个表,它们都看起来像这样: 通讯:(已拨打电话) 移动: 我想做的是找到最接近给定“通信”时间戳的“移动”时间戳。基本上,我想找到一个人打电话时可能去过的地方。 目前,我这样做是: 输出将是: 我将呼叫者的和设置到的位置,然后他们拨打了电话。因此,这将找到一个呼叫者的可能位置。 在这种情况下,打电话到,并且他的移动数据表明他的位置在。这样一来,它就会显示在他可能的位

  • 比方说,我有一个购物车的食品杂货,每个项目都有一个唯一的ID。当有人点击“购买”时,会发送一个数组,其中包含购物车中每件商品的对象。购物车各不相同,所以有时可能是2个项目,有时是6个项目,等等。 例子: 我需要我的SQL表“可用的杂货”来根据购买的商品进行更新。 对于一个杂货项目,我会使用以下内容: 既然我现在有多件商品,我如何让查询为购买的每件商品运行?或者作为一个大规模的查询,根据购买的商品数

  • 当我尝试在xml applicationContext中配置2个数据源时,我遇到了问题。xml。我发现reffer使用bean注释进行配置。我需要在我的实际架构中使用xml进行配置。 我看到教程: http://www.baeldung.com/spring-data-jpa-multiple-databases 和 https://docs.spring.io/spring-boot/docs/