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();
}