在基础存储库界面上定义@Query

詹姆士

有没有一种方法可以在基本的引用接口上声明@Query,这样就不必在所有存储库中都声明它了?该查询在查询的“ FROM”部分中将具有不同的实体名称。

@MappedSuperclass
public abstract class BaseAction {
    @Id
    Long id;
    ...
}

@Entity
@Table(name="AKTION_EMAIL")
public class EmailAction extends BaseAction {
    private String email;
}

public interface ActionRepository<T extends BaseAction> extends JpaRepository<T, ActionPK> {
    @Query("SELECT max(seqNumber) + 1 FROM ????????????? e WHERE e.order = ?1 AND e.action = ?2")
    Long findNextSeqNumberByOrderAndAction(Order order, ActionConfiguration action);
}

public interface EmailActionRepository extends ActionRepository<EmailAction> {
    // This works, but I don't want to repeat that in all entity repositories...
    @Query("SELECT max(seqNumber) + 1 FROM EmailAction e WHERE e.order = ?1 AND e.action = ?2")
    Long findNextSeqNumberByOrderAndAction(Order order, ActionConfiguration action);
}
奥利弗·德罗博姆(Oliver Drotbohm)

您可以在通用查询定义中使用SpEL表达式来引用未知实体类型:

interface ActionRepository<T extends BaseAction> extends JpaRepository<T, ActionPK> {

  @Query("SELECT max(seqNumber) + 1 FROM #{#entityName} e WHERE …")
  Long findNextSeqNumberByOrderAndAction(Order ActionConfiguration action);
}

注意我们如何#{#entityName}动态插入将为其创建re存储库的实体的名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android中的存储库模式单界面

来自分类Dev

phpmyadmin界面上的数据库链接问题

来自分类Dev

phpmyadmin界面上的数据库链接出现问题

来自分类Dev

为项目使用“基础”存储库?

来自分类Dev

存储库定义比较

来自分类Dev

在Big Query Web界面上使用表装饰器

来自分类Dev

更新使用Web界面导入功能创建的github存储库

来自分类Dev

从Web界面初始化Git存储库

来自分类Dev

我可以在Spring Data JPA存储库方法中将@Query定义与规范结合吗?

来自分类Dev

Spring Data JPA CRUD存储库接口JPQL @Query生成自定义查询失败

来自分类Dev

基础架构层中的域驱动设计存储库实现

来自分类Dev

远程Git存储库基础架构建议?(蓝图)

来自分类Dev

Git 基础 - 如何链接到预先存在的存储库

来自分类Dev

没有基础存储库的多个实体存储库中是否具有相同的功能?

来自分类Dev

“界面上的自定义格式化程序”构建器的目的是什么?

来自分类Dev

签名界面上的字段重复

来自分类Dev

签名界面上的字段重复

来自分类Dev

巧克力的自定义存储库

来自分类Dev

Github存储库用户组定义

来自分类Dev

自定义存储库中的 PropertyReferenceException

来自分类Dev

@Query MongoDb Spring存储库的命名参数

来自分类Dev

@Query,存储库中有错误

来自分类Dev

Visual Studio 2015更新1破坏了git存储库界面

来自分类Dev

如何使用命令行界面更改 nexus 存储库 url?

来自分类Dev

用于定义自定义Maven存储库的Gradle函数?

来自分类Dev

在ZF2中存储自定义界面的最佳位置

来自分类Dev

如何在个人资料页面上显示的“常用存储库”存储库中添加更多标签?

来自分类Dev

从界面定义通用列表

来自分类Dev

域驱动设计:基础架构或存储库可以使用域对象吗?

Related 相关文章

  1. 1

    Android中的存储库模式单界面

  2. 2

    phpmyadmin界面上的数据库链接问题

  3. 3

    phpmyadmin界面上的数据库链接出现问题

  4. 4

    为项目使用“基础”存储库?

  5. 5

    存储库定义比较

  6. 6

    在Big Query Web界面上使用表装饰器

  7. 7

    更新使用Web界面导入功能创建的github存储库

  8. 8

    从Web界面初始化Git存储库

  9. 9

    我可以在Spring Data JPA存储库方法中将@Query定义与规范结合吗?

  10. 10

    Spring Data JPA CRUD存储库接口JPQL @Query生成自定义查询失败

  11. 11

    基础架构层中的域驱动设计存储库实现

  12. 12

    远程Git存储库基础架构建议?(蓝图)

  13. 13

    Git 基础 - 如何链接到预先存在的存储库

  14. 14

    没有基础存储库的多个实体存储库中是否具有相同的功能?

  15. 15

    “界面上的自定义格式化程序”构建器的目的是什么?

  16. 16

    签名界面上的字段重复

  17. 17

    签名界面上的字段重复

  18. 18

    巧克力的自定义存储库

  19. 19

    Github存储库用户组定义

  20. 20

    自定义存储库中的 PropertyReferenceException

  21. 21

    @Query MongoDb Spring存储库的命名参数

  22. 22

    @Query,存储库中有错误

  23. 23

    Visual Studio 2015更新1破坏了git存储库界面

  24. 24

    如何使用命令行界面更改 nexus 存储库 url?

  25. 25

    用于定义自定义Maven存储库的Gradle函数?

  26. 26

    在ZF2中存储自定义界面的最佳位置

  27. 27

    如何在个人资料页面上显示的“常用存储库”存储库中添加更多标签?

  28. 28

    从界面定义通用列表

  29. 29

    域驱动设计:基础架构或存储库可以使用域对象吗?

热门标签

归档