gpt4 book ai didi

java - 修改在 Spring Data REST 投影后面生成的 SQL 查询

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:22:56 25 4
gpt4 key购买 nike

编辑:如何在 SELECT 中为 Spring Data Rest Projections 保留只需要的列?

Spring Data Rest Projections 非常适合为生成的链接获取列的子集,但是在后面生成的查询仍然包含所有列。

如何创建投影,其中 SQL 查询也只有 SELECT 中的那些列在投影中

最佳答案

我不知道为什么文档中缺少它,但是这个 spring 示例(来自 spring)表明您可以使用投影作为 @Query 的返回类型。所以你可以这样做:

public interface ActionId {
String getId();
}

@Query("select a.id as id from Action a where a.type = :type")
public List<ActionId> findByType(@Param("type") String type);

现在不必使用构造函数表达式,您可以更简洁地选择所需的列,然后返回一个对象。我希望投影可以应用于域对象本身,这样您仍然可以只返回一个带有 id 字段的“Action”,但现在看起来不可能 -

引用:https://github.com/spring-projects/spring-data-examples/blob/master/jpa/example/src/main/java/example/springdata/jpa/projections/CustomerRepository.java

关于java - 修改在 Spring Data REST 投影后面生成的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26524529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com