0

如何在 ATG 中创建具有特定字段(如名称 id 等)的自定义存储库。以及如何根据名称ID或任何其他字段查询相同的信息。

4

1 回答 1

1
  1. 在配置中的某个路径(例如 /com/myproject/content/testRepository.xml)创建 testRepository.xml,其中包含所有自定义表的项目描述符。

  2. 在相同的路径创建 testRepository.properties -

$class=atg.adapter.gsa.GSARepository $scope=global XMLToolsFactory=/atg/dynamo/service/xml/XMLToolsFactory dataSource=/atg/dynamo/service/jdbc/SwitchingDataSource 定义Files=/com/myproject/content/testRepository.xml groupContainerPath=/atg/registry/RepositoryGroups idGenerator=/atg/dynamo/service/IdGenerator lockManager=/atg/dynamo/service/ClientLockManager repositoryName=Test Repository transactionManager=/atg/dynamo/transaction/TransactionManager

  1. 现在您可以在您的液滴或表单处理程序中将此组件称为 -

    testRepository=/com/myproject/content/testRepository

  2. 在 java 中创建相同的 setter 和 getter。

  3. 现在您可以查询为 -

private RepositoryItem[] getMyTestItems() {
RepositoryItem[] testItems = null;
try {
RepositoryView repView = getTestRepository().getView("myItemDescriptor");
RqlStatement statement = getRqlQuery(); //your query that can be defined in property file
Object params[] = new Object[1];
params[0] = "anyParam";

testItems = statement.executeQuery(repView, params);
} catch (RepositoryException ex) {
vlogDebug("testItems{0} ", ex);
} finally {
LoadingStrategyContext.popLoadStrategy();
}
return testItems;
}
于 2015-09-15T07:58:51.923 回答