登录到店面时,userService.isUserExisting不返回结果。

2020-09-18 16:20发布

         点击此处--->   EasySAP.com群内免费提供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数据来自何处?

如何解决?

问候,丹

         点击此处--->   EasySAP.com群内免费提供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数据来自何处?

如何解决?

问候,丹

付费偷看设置
发送
1条回答
哎,真难
1楼-- · 2020-09-18 16:48

不确定这是否有帮助,但是Hybris将uid转换为小写,而我之前没有注意到。 因此,我需要对获取部分进行小写处理才能获得正确的结果。

一周热门 更多>