点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们最近从Hybris 4.7.8升级到5.4.1,并注意到当我们以B2BCustomer身份登录商店时,Hybirs UserService方法isUserExisting()不能返回正确的结果。 我启用了JDBC日志记录以输出生成的SQL,并将问题跟踪到附加到查询的typePkString子句中。 生成的SQL很大,但这是需要关注的领域:
从用户item_t0中选择 item_t0.PK 从(item_t0.UniqueID ='functester1')和( item_t0.TypePkString IN(8796094038098,8796094005330,8796119892050,8796093972562)AND(((item_t0.TypePkString IN(8796094038098,8796094005330,8796093972562))))));
第一个AND与添加客户,雇员,B2BCustomer和用户的PK,而第二个AND与添加客户,雇员和用户的PK。 B2BCustomer在第二个生成的AND子句中丢失,因此结果是找到0条记录。 当我们以B2BCustomer的身份登录店面时,就会发生这种情况。 如果我们使用匿名用户帐户,则不会发生这种情况,查询将返回1条记录的正确结果。
这与搜索限制无关,并且由于这是开箱即用的混合查询,因此目前尚不清楚为什么在5.4.1中此操作会失败。
isUserExisting()方法如何构建其查询,以及typePkString数据来自何处?
如何解决?
问候,丹
不确定这是否有帮助,但是Hybris将uid转换为小写,而我之前没有注意到。 因此,我需要对获取部分进行小写处理才能获得正确的结果。
一周热门 更多>