0

我正在尝试使用 SeedStack Java 代码获取浮点列的最大值,而我正在使用种子堆栈存储库。但我不明白该怎么做。作为存储库,不要调用 max 函数。它具有唯一的计数功能。我已经使用规范应用了过滤器。但是被Max函数卡住了。谁能帮忙?

由于限制,我无法共享代码。

4

1 回答 1

1

存储库抽象允许您使用类似集合的外观来管理聚合持久性,但泛型方法只能返回聚合类型的对象。

在您的情况下进行数据聚合时,您不会返回聚合,而是返回单个列和聚合结果。这与通用存储库方法和规范对象不兼容。

要实现您想要的,您必须定义一个自定义存储库方法。在自定义界面中定义它:

public interface ProductRepository extends Repository<Product, Long> {
    int getMaximumProductPrice();
}

然后实现它:

public class ProductJpaRepository 
        extends BaseJpaRepository<Product, Long> 
        implements ProductRepository {

    @Override
    public int getMaximumProductPrice() {
        // implement query using getEntityManager()
    }
}

现在你直接用你自己的接口注入你的存储库:

public class SomeClass {
    @Inject
    private SomeRepository someRepository;
}

上面的示例非常简单,但请注意,您还可以返回更复杂的值,例如:

  • Object保存任意值的数组,
  • 一个用于保存所有返回值的自定义对象,
  • AProduct或列表,Product如果您进行连接。
于 2020-03-13T12:37:49.480 回答