我有三个表A
,B
和AB
。 AB表是一个关系表。因此AB_AUD
表格为abID
为PK,aId
,bID
为修订版信息。
我有'bIds'列表,想要使用列表从AB_AUD
表中检索审计数据。我的代码块是
AuditQuery query = auditReader.createQuery()
.forRevisionsOfEntity(AB.class, false, true)
.add(AuditEntity.property("bId").in(bIds))
.addOrder(AuditEntity.revisionNumber().desc());
抛出异常:无法解析bId的属性。即使我尝试与单bId
等同,也可以检索投放相同bId
的{{1}}的审核数据。
我想知道代码中是否有任何错误。现在我正在做一个for循环来检索这样的数据:
exception
每个B运行for (B b : listofB's)
{
AuditQuery query = auditReader.createQuery()
.forRevisionsOfEntity(AB.class, false, true)
.add(AuditEntity.property("b").eq(b))
.addOrder(AuditEntity.revisionNumber().desc());
}
,这不是一个好方法。
答案 0 :(得分:0)
如果您的媒体资源名称为b
,那么您为什么在查询中使用bId
。更新查询以使用b
,如下所示:
.forRevisionsOfEntity(AB.class, false, true)
.add(AuditEntity.property("b").in(istofB's))
.addOrder(AuditEntity.revisionNumber().desc());
这应该有用。