“查询”选项卡

单击相应的“SQL 函数”选项卡并键入您自己的用于为描述符控制这些操作的 SQL 字符串。请按照下面的信息完成该选项卡：

选项卡 | 说明
--- | ---
插入 | 定义插入 SQL，TopLink 将使用它将新对象的数据插入到数据库中。

更新

定义更新 SQL，TopLink 将使用它更新数据库中所有已更改现有对象的数据。

在您定义描述符的更新查询时，您必须遵守以下条件：

- 如果应用程序使用乐观锁定且版本字段在读取对象后发生更改，则必须确保该行未被写入。

- 如果该行已被写入，更新查询必须递增版本字段。

- 更新字符串必须维护数据库的行数。

删除 | 定义 TopLink 删除对象所使用的删除 SQL。
读取对象 | 定义读取 SQL，TopLink 将在所有选择标准基于对象主键的 `ReadObjectQuery` 中使用它。 在定义描述符的读取对象查询时，您的实施覆盖任何 `ReadObjectQuery`，其选择标准基于该对象的主键。TopLink 为所有其他 `Session` `readObject` 方法签名生成动态 SQL。 要定制其他 `Session` `readObject` 方法签名，请定义附加的命名查询并在您的应用程序中使用这些查询，而不是使用 `Session` 方法。
全部读取 | 定义在您调用传递到此描述符表示的 `java.lang.Class` 中的 `Session` 方法 `readAllObjects(java.lang.Class)` 时 TopLink 使用的全部读取 SQL。 在您定义描述符的全部读取查询时，您的实施只覆盖 `Session` 方法 `readAll(java.lang.Class)`，而不覆盖采用 `Class` 和 `Expression` 的版本。因此，此查询读取每个单个实例。TopLink 为所有其他 `Session` `readAll` 方法签名生成动态 SQL。 要定制其他 `Session` `readAll` 方法签名，应定义附加的命名查询，并且在您的应用程序中使用这些查询，而不是使用 Session 方法。

另请参阅

  配置基本持久性操作的定制 SQL 查询