findVersions

返回 @History 实体 bean 的版本。

请注意,此查询适用于基于视图的历史实现,但不适用于基于 sql2011 标准的实现,我们应该使用 findVersionsBetween,它需要指定开始和结束时间戳。

通常,此查询应为按 ID 或唯一谓词查询查找。它将在历史记录中执行查询,返回 bean 的版本。

findVersionsBetween

返回 2 个时间戳之间的 @History 实体 bean 的版本。

通常,此查询应为按 ID 或唯一谓词查询查找。它将在历史记录中执行查询,返回开始和结束时间戳之间的 bean 的版本。

Timestamp start = ...;
Timestamp end = ...;

List<Version<Customer>> customerVersions =
  new QCustomer()
    .id.eq(42)
    .findVersionsBetween(start, end);

for (Version<Customer> customerVersion : customerVersions) {
  Customer bean = customerVersion.getBean();
  Map<String, ValuePair> diff = customerVersion.getDiff();
  Timestamp effectiveStart = customerVersion.getStart();
  Timestamp effectiveEnd = customerVersion.getEnd();
}