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

具有自定义集合属性的JPA投影

阳博赡
2023-03-14

我们正在使用Spring数据,并试图创建一个带有子查询的自定义查询,结果投影有一个数组和其他属性,我们的问题是子查询数组。

    public interface ProfesionalRepository extends JpaRepository<Profesional, Long> {

    @Query("SELECT p.id as idProfesional, " +
            " p.name as name, " +
            " p.surname as surname, " +
            " (SELECT a.descripcionIlt FROM Ausencia a WHERE a.profesional.id = p.id) as exclusionesCenso " +
            " FROM Profesional p ")
    List<ProfesionalCensoProjection> findCenso();
}

预测如下:

public interface ProfesionalCensoProjection {
    Long getIdProfesional();
    String getName();
    String getSurname();
    List<String> getExclusionesCenso();
}
Caused by: java.sql.SQLException: ORA-01427: single-row subquery
returns more than one row

共有1个答案

华甫
2023-03-14

您没有发布实体,但Profesional似乎与Ausencia有关系。然后可以使用嵌套投影:

 public interface ProfesionalCensoProjection {
    Long getIdProfesional();
    String getName();
    String getSurname();
    // returns a projection which would include only the description
    List<AusenciaSumaryprojection> getExclusionesCenso(); 
}

public interface ProfesionalRepository extends JpaRepository<Profesional, Long> {

    List<ProfesionalCensoProjection> findCenso();
}
 类似资料:
  • 如果集合包含具有特定属性值的元素,我想断言(使用JUnit,而不是任何其他依赖项,如hamcrest)。 我发现这个问题如何断言迭代包含具有特定属性的元素?使用危害冠。 一种选择是重写< code>equals方法,只检查我想要比较的属性,但这不是一个好的解决方案。 有没有一种优雅的方法可以使用JUnit 4来实现这一点,或者我应该对其进行编码并循环访问集合以检查值?

  • 问题 如果我像下面的例子一样使用属性访问类型,我是否也必须为引用的FK定义getter和setter? 我不认为是这样,但Java EE6的官方文档是这样做的。 null

  • 我正在尝试使用Javascript选择此复选框 下面的代码可以工作,但并不理想 我试过这些 但它们并不起作用。有什么想法能让这件事成功吗? 数据值未硬编码的更新代码

  • 我有一个包含元素列表的实体,现在我想搜索这些元素的属性。这个约束应该是“与”连接的。请看这些简单的例子: 现在我想找到某个城市的家长,比如说“BigCity”,孩子们在学校“AwesomeSchool”,他们在六年级一班。我只想通过CriteriaBuilder获得搜索结果。 到目前为止,我得到了: 不幸的是,这里有两个问题:-看起来我无法在列表属性上调用-这将返回所有孩子在“AwesomeSch

  • 本文向大家介绍aurelia 创建具有可绑定属性的自定义元素,包括了aurelia 创建具有可绑定属性的自定义元素的使用技巧和注意事项,需要的朋友参考一下 示例 创建具有可绑定属性的自定义元素非常简单。如果要创建一个接受一个或多个插件可以使用的值的元素,则需要使用@bindable装饰器和语法。 在下面,我们正在创建一个自定义元素,该元素接受一系列水果并显示它们。 示例: my-element.j