- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 ATG 新手,我无法做一些看起来相当简单的事情。
我正在尝试通过订单号在数据库中获取订单。但这个数字不是 orderId,所以我不能只使用 OrderManager.loadOrder 方法。
这是我到目前为止的代码:
Repository orderRepository = getOrderManager().getOrderTools().getOrderRepository();
RepositoryView view = orderRepository.getView("order");
RqlStatement statement = RqlStatement.parseRqlStatement("orderNumber EQUALS ?0");
Object params[] = { pOrderNumber };
RepositoryItem items[] = statement.executeQuery(view, params);
RepositoryItem order = null;
if( (items != null) && (items.length > 0) ) {
order = items[0];
}
//Now I want to convert this order of type "RepositoryItem" to an actual Order object
我可以通过获取存储库 ID 并从 OrderManager 调用 loadOrder 来完成此操作,但这似乎需要返回数据库并再次查找我手中已有的内容。
是否有另一种方法可以从此 RepositoryItem 对象中获取实际的 Order 对象?
最佳答案
如果您只需要订单项本身的属性,那么您可以使用 getPropertyValue
方法直接从 RepositoryItem 检索它们。如果您发现想要利用 OrderImpl
包装器及其关联的便捷方法,那么您应该通过 OrderManager.loadOrder()< 检索
正如您所建议的方法。虽然这需要应用程序稍微做更多的工作来构造 Order
对象实例Order
包装器,但这并不一定意味着对订单表进行另一次数据库调用。假设您没有禁用订单项的存储库缓存,那么 ATG 在为您构建 OrderImpl
包装器时将利用已缓存的订单存储库项。当您按 orderNumber 对订单进行 RQL 查找时,此项将被缓存,因此不会执行冗余的数据库调用。
请注意,如果相关订单项目尚未缓存(即付款组、运输组、商业项目等),则可能需要额外的数据库调用来检索这些项目。
关于java - 如何将 RepositoryItem 转换为 ATG 上的订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25086110/
ATG 存储库中的存储库项目和项目描述符之间有什么区别? 最佳答案 存储库项目包含存储库中一条记录的数据,这意味着您可以使用存储库项目访问存储在您的存储库和(通常)数据库中的数据。 一个项目描述符定义
我想知道如何在 ATG 中创建新的存储库。比如需要包括哪些所有步骤?我需要创建属性文件吗? 最佳答案 为了创建一个新的存储库,如果您想创建一个使用 sql 数据库作为数据存储的存储库,则需要按照以下步
如果您为 ATG Dynamo 进行开发,您如何构建您的模块和依赖项? 您如何构建项目?源目录、JAR 配置等。 如何构建和部署?你使用什么工具? 最佳答案 我们有一个带有单个 ATG 模块的整体架构
如何重置 ATG Dynamo 管理员密码? 我需要按照默认的 admin/admin 重置/更改密码。 最佳答案 根据 Oracle 的文档,您可以将 Admin.Reset 添加到您的ear文件中
最初,我安装了 ATG 和 CommerceReferenceStore 并使用 ATG CIM 配置它。后来我开始开发自己的 ATG 模块,将其部署在“ATGProduction.ear”上。现在我
有人可以解释一下设置 ATG 开发环境以使用 JBoss AS 所涉及的所有步骤吗?我的要求很简单,我需要开发和部署一个简单的 J2EE 应用程序,其中包含一些表单和后端逻辑以保存表单中输入的数据。
我正在字符串中搜索以 ATG 开头、以 TAG、TAA 或 TGA 结尾且长度 = 3 的倍数的模式。ATG 和 TAG、TAA 或 TGA 只能分别出现在开头或结尾。这意味着: 从ATGTTGTGA
我想使用 CartModifierFormHandler 修改当前订单中的 commerceItem 数量。 我已通过 catalogRefId & new quantity然后调用 CartModi
我对atg小滴,dsp标签和编写自定义小滴有一些想法。我想了解有关ATG主题的管道。当我尝试为此参考oracle文档时,我对理解它的含义和工作流程感到有些困惑。我可以创建一个自定义管道管理器来按顺序执
使用返回管理器返回时,是否可以将退款分配给新的付款组并将其与订单关联? 例如,如果订单付款是使用信用卡完成的,那么我在返回时需要使用现金退款 最佳答案 对您的问题的简短回答是,不能使用 ATG oot
我目前正在研究如何最终创建一个能够监视网站上运行的计划作业的 Web 应用程序。它基于ATG,我一直在研究很多 OOTB 组件,我认为我已经取得了一些成果,但我真的缺乏 ATG 知识,因为我是一名实习
我正在使用 ATG 9.4 并尝试修改我们的促销引擎,以便我们可以设置每个促销的过滤器属性,而不是直接在全局 QualifierService 上设置。 基本上,我所做的就是为 QualifierSe
如何通过BCC设置每周三的ATG促销,无需手动修改即可添加10%的折扣? 最佳答案 我相信这需要超出我技能范围的定制来支持这一点。 BCC 的促销模板 OOTB 仅支持以下基于日期/时间的规则...
我遇到一个问题,出现以下错误: CONTAINER:atg.repositoryException; SOURCE:java.sql.SQLException: Unexpected exceptio
我是 ATG 的新手。我正在尝试使用我自己的 RepositoryFormHandler。但是我无法对表单进行验证。 这是我的 .java 文件: public class MyLoginBean e
我正在尝试覆盖某些方法以让它返回更具体的结果。所以我做到了。 @Override public StoreProfile getProfile() { return (StoreProfile
众所周知,您必须使用以下模式才能更新 ATG Form-Handlers 中不继承自 PurchaseProcessFormHanlder 的订单: boolean acquireLock = fal
我读过很多文档,到处都提到在 atg for compoent 中有一些先决条件。 例如。您的组件类应该有一个不带参数的公共(public)构造函数。 当我在我的应用程序中检查其中一个组件时,我没有看
我试图显示基于 Map(String, Pojo) 结构的嵌套 map 数据。我尝试了各种不同的方法来显示它,但它无法识别 pojo 上的 Map 对象。
我试图通过扩展 GenericService 的 ATG 类更新多条记录。但是我遇到了障碍。我如何执行多个插入查询,我可以继续将所有项目/行添加到缓存对象中,然后使用 item.add() 与表执行单
我是一名优秀的程序员,十分优秀!