gpt4 book ai didi

java - 通过主键 ID 查找对象列表 - Apache Cayenne

转载 作者:行者123 更新时间:2023-11-30 01:58:40 25 4
gpt4 key购买 nike

这与我之前的 question 有点相关我在其中讨论了通过外键 ID 查找行。本题针对通过主键ID查找对象列表。

在下面的代码中,我尝试通过提供 id 列表来查找 Person 对象列表。但 Apache Cayenne 无法做到这一点,因为 ID_PK_COLUMN 是一个字符串,而不是 Property

ObjectSelect
.query(Person::class.java)
.where(Person.ID_PK_COLUMN.in(listOfIds)) // <- Cannot perform this
.select(context)

如何按 ID 查找 Person 对象列表?

我知道我们有 Cayenne.objectForPK 但它只能找到一个对象。

使用 Apache Cayenne 4.1。

最佳答案

由于 ids 通常不会在 Cayenne 中映射为对象属性,并且“ID_PK_COLUMN”是“db:”属性,因此您需要为“where”方法参数构建一个“db”表达式。有一个 API 可以实现这一点:

ExpressionFactory.inDbExp(Person.ID_PK_COLUMN, listOfIds)

(顺便说一句,Property 只是 ExpressionFactory 之上的语法糖)

关于java - 通过主键 ID 查找对象列表 - Apache Cayenne,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53566217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com