返回具有列表的jpa中的自定义对象

Posted

技术标签:

【中文标题】返回具有列表的jpa中的自定义对象【英文标题】:Return custom object in jpa that have list 【发布时间】:2020-01-08 11:50:04 【问题描述】:

我有两个这样的实体

@Entity
Class Project 
    long id;
    String name;

    @OneToMany
    List<Prop> props;


@Entity
Class Prop 
    long id;
    double price;
    String createdUser;


现在我写一个查询

select new com.example.ProjectReport(
        p.id, p.name, pr.price
    ) from Project p left join p.props pr
Class ProjectReport 
    long id;
    String name;
    double price;

与项目的每个道具关系的查询返回结果 但我需要这样的东西,这不起作用:

Class ProjectReport 
    long id;
    String name;
    List<Double> priceList;

【问题讨论】:

【参考方案1】:
@Query("select new Map(p.id, p.name, pr.price, pr.price) from Project p left join p.props pr")

【讨论】:

谢谢,但是如果我们不知道 prop 中有多少价格可用,如何处理?有没有办法将地图投射到我的 CustomClass ?

以上是关于返回具有列表的jpa中的自定义对象的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 存储共享首选项中的自定义类列表

检查自定义对象列表是不是与 Java 8 中的属性具有相同的值

在 python C API 中返回新的自定义类对象的列表

过滤数组列表或列表中的自定义对象[重复]

片段中的自定义列表适配器

使用 kotlinx 序列化响应中的自定义对象列表