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

Quarkus Panache反应型选择单柱

公西修文
2023-03-14

使用反应式版本的panache,我无法使用项目从表中选择特定列

    @Entity
   class Test: PanacheEntity(){
     @Column(name="amount")
     var amount: Double = 0.0
    
     @Column(name="name")
     lateinit var name: String
   }

 @ApplicationScoped
   class TestRepository: PanacheRepository<Test> {
     fun getSum(name: String) =
        find("select sum(l.amount) as amount from Test l where l.name = :name",Paramater().with("name", name)
        .project(Result::class)
        .singleResult()
   }

  data class Result(val amount: Double)

出于总和原因,这会生成不正确的 SQL 语句,即

SELECT new org.package.Result(amount) select sum(l.amount) as amount from org.package.Test l where l.name = $1

它从不使用投影。是否有另一种方法可以从SQL中获取不是正在使用的实体的单个值?有什么解决办法吗?

共有1个答案

冀景明
2023-03-14

更新:问题已修复并包含在QUKUS2.12.CR1中

我已经报告了这个问题。

作为解决方法,您可以删除 .project(Result.class) 并运行以下查询:

select new org.package.Result(sum(l.amount) as amount) from Test l where l.name = :name

该方法将如下所示:

   @ApplicationScoped
   class TestRepository: PanacheRepository<Test> {
     fun getSum(name: String) =
        find("select new org.package.Result(sum(l.amount) as amount) from Test l where l.name = :name",Paramater().with("name", name)
        .singleResult()
   }
 类似资料:
  • 我想在react中处理选择的事件,示例如何在普通JS中工作。 因此我为选择创建了react组件:

  • 使用简化了Hibernate ORM映射。 所有的指南都解释了如何编写不同的查询,但并不清楚如何只选择某些属性。 如果我不需要整个对象,而是需要数据库中所有人员的? 是否可以使用仅选择某些属性?

  • 问题内容: 我的CSS定位器有问题。我为父母有一个独特的标签,从那里我可以得到所需的孩子。 该类与所有下拉列表相似,因此唯一会改变的值是。另外,有时我需要取消选择它们。 为此,我有一个定位器。 如您所见,第一部分仍然相同。 所以我的问题是是否有可能编写一些方法(或任何其他方式)来更改定位器的最后一部分?我有600多个下拉菜单,并且为600个新定位器创建了一个目标,这使我发疯。 对我来说,执行类似操

  • 问题内容: 我正在尝试找到最适合与我的React应用程序一起使用的表,而现在,react表提供了我需要的一切(分页,服务器端控件,过滤,排序,页脚行)。 话虽这么说,我似乎无法选择一行。没有任何例子可以证明这一点。 我尝试过的一些操作包括尝试在单击行时设置className。但是我似乎在nor中找不到调用元素。另外,我不喜欢这种方法,因为这不是React应用程序应该做的事情。 一些可能的解决方法是

  • 问题内容: 我正在使用创建一个解决方案,而选择应该只包含另一个中不包含的选项。防爆 要通过另一个值进行过滤,我该怎么办? 问题答案: 劳拉(Laura)的上述答案在编写自定义filterOption函数时中断了过滤(如果您不希望Select可过滤,那么可能就可以了)。 一个更简单的解决方案是,对通过的应用仅应用一个简单的过滤器,而不是对第二个“选择”应用。 工作实例

  • 问题内容: 我试图建立一个适当的反应输入复选框,选择所有组件。想法是有一个组件,并且我可以检查,所有组件也都将被选中。 我有两个问题。 如果选中,则无法取消选择任何一个。 如果已全部选中,则应进行检查。 这是例子。 问题答案: 我认为可能会对您的实现进行一些修改,以便以更具 React风格的 形式获得所需的结果。 首先要取消的是复选框类和该类的prop 。复选框是一个相对愚蠢的元素,它不应该了解诸