|
Oracle TopLink Developer's Guide
10g Release 3 (10.1.3) B13593-01 |
|
![]() Previous |
![]() Next |
To make a query time-aware, you specify an AsOfClause that TopLink appends to the query. Use the AsOfClause class if your historical schema is based on time stamps or the AsOfSCNClause class if your historical schema is based on database system change numbers. You can specify an AsOfClause at the time you acquire a historical session so that TopLink appends the same clause to all queries, or you can specify an AsOfClause on a query-by-query basis.
Example 99-2 shows how to create a query that uses a particular AsOfClause. This query will read all Employee objects as of the time specified by timestamp using the appropriate history tables described by the HistoryPolicy set on the Employee descriptor.
Example 99-2 Using a Historical Session
ReadAllQuery historicalQuery = new ReadAllQuery(Employee.class); AsOfClause asOfClause = new AsOfClause(timestamp); historicalQuery.setAsOfClause(asOfClause); historicalQuery.dontMaintainCache(); Vector pastEmployees = (Vector)historicalSession.executeQuery(historicalQuery);