【发布时间】:2018-11-30 23:21:41
【问题描述】:
这与我之前的 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。
【问题讨论】:
-
你从中得到了什么:
val expression = Person.ID_PK_COLUMN.in(listOfIds)? -
@AndreArtus: 好吧,
Person.ID_PK_COLUMN返回一个String,所以.in()方法对它不起作用,这就是为什么我写了我不能在那个特定上执行.in()表达。我认为@andrus 解决了我的答案。
标签: java kotlin orm apache-cayenne