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

我如何用JPA提取这个列表?

锺离森
2023-03-14
    null

我想使业务逻辑,以显示客户页谁可以为这个订单。我正要提取可用工人的名单。但是Idk怎么提取,因为有的工人一天多有空。假设A周一、周二和周五有空,如果客户希望11月9日有员工来访,我如何提取列表?

另外,我希望使用DTO,而不是实体。

共有1个答案

宣熙云
2023-03-14

“...当它们作为字符串可用时”--我不会这么做,而是使用周的一天字段(即1-7)或枚举。

也就是说,有很多方法来解决这个问题,比如维护一个实际的列表。让我们假设您已经这样做了,并且您的实体如下所示:

@Entity
class Worker {
  @Id
  private String id;

  @ElementCollection
  @CollectionTable(
    name="AVAILABILITY",
    joinColumns=@JoinColumn(name="WORKER_ID")
  )
  @Column(name="WEEKDAY")
  private Set<DayOfWeek> availableAt;

  ...
}

然后可以使用如下查询:

SELECT worker FROM Worker worker JOIN worker.availableAt av WHERE av = :selectedDayOfWeek
SELECT worker FROM Worker worker WHERE :selectedDayOfWeek member of worker.availableAt

SELECT worker FROM Worker worker WHERE :selectedDayOfWeek in elements(worker.availableAt)

SELECT worker FROM Worker worker WHERE :selectedDayOfWeek = some  elements(worker.availableAt)
 类似资料:
  • null 如何在employee实体中只取Dept.name列而不是整个Department行(需要避免对Department进行的大量集合进行急切的取数)?如果是,我应该使用什么注释? 如何在此方案中处理级联?

  • 这是我从MPI ELAN获得的数据,它是该程序中使用的关于电影的文件: 我想从这个键中提取值:“TIME\u ORIGIN”:“82199”,我认为这是JSON数组,但我做不到。

  • 在我的MergeSort程序的这一部分中,我递归地划分一个名为“arr”的未排序数组。为此,我创建了两个子数组,“leftArr”和“rightArr”,然后我分别用“arr”的前半部分和“arr”的后半部分填充“leftArr”和和“right arr”。然后,我将使用递归来划分/排序leftArr和rightArr。 只是想澄清一下:中=长度; 要初始化rightArr,我执行以下操作: 当我

  • 我正在创建一个包含一个用户实体的Spring Boot应用程序。 我想实现一个功能,管理员可以使用不同的过滤器搜索用户,过滤器可以是用户表中的一列或多列。 下面是用户实体类: 搜索用户时,只有名字可以是筛选器,或者在某些时候,名字和姓氏都可以是筛选器,或者如果需要,其他一些列值(ID、电子邮件和联系人)也可以与它们一起用作筛选器。筛选器的选择将完全是管理员在运行时的选择。 有人能指导我如何使用JP

  • 我试图通过扁平化视图层次结构来优化Android应用程序中的布局。这里有一个特别难的问题! 此布局有一个主线布局,用于容纳顶行和底行(它们本身就是水平的子线布局)。中间的四个项目中的每一个都是使用LayOut权重来展开的垂直相对性(以适应图像视图和文本视图)。包含两个项目的每一行也是一个水平线性布局。 不用说,这种布局效率非常低,在绘制时会导致许多“编排者跳过了帧”的消息。我想删除这些嵌套的布局,

  • 启动错误 ApplicationContext.若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-10-17 15:44:43.968错误10460--[main]O.S.Boot.SpringApplication:应用程序运行失败 我的pom.xml: