0

我有三个表ABAB。AB表是关系表。因此AB_AUD表具有abIDPK 和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 的属性。甚至我尝试将与 single 等同起来以检索一个抛出相同bId的单曲的审计数据。我想知道代码中是否有任何错误。现在我正在做一个 for 循环来检索这样的数据:bIdexception

for (B b : listofB's)
{
    AuditQuery query = auditReader.createQuery()
        .forRevisionsOfEntity(AB.class, false, true)
        .add(AuditEntity.property("b").eq(b))
        .addOrder(AuditEntity.revisionNumber().desc());
}

每个 B 都运行sql query,这不是一个好方法。

4

1 回答 1

0

如果您的属性名称是bbId在查询中使用的原因。更新查询以使用b如下:

            .forRevisionsOfEntity(AB.class, false, true)
             .add(AuditEntity.property("b").in(istofB's))
             .addOrder(AuditEntity.revisionNumber().desc());

这应该有效。

于 2012-10-09T02:00:52.187 回答