Hybris灵活查询不适用于客户类型

时间:2018-04-10 12:24:15

标签: sql hybris

我在下面运行查询 https://localhost:9002/console/flexsearch#

当我在查询下面运行时没有错误

SELECT   
           *
            FROM { Customer  AS p} 
            where p_name IS NOT NULL

但是,当我运行它时,它给了我一个错误。

SELECT *
            FROM { Customer  AS p} 

            where {p_name} =' zohan'

2 个答案:

答案 0 :(得分:1)

灵活和SQL查询之间的混淆?

Hybris使用灵活的查询语法,您只需使用TypeCode(Customer)及其属性(名称)进行查询即可。 Hybris在内部将您的查询转换为相应的数据库语法。在DB中,每个列名称都以p_为前缀。因此,如果您想直接使用SQL查询,则应使用p_name,否则使用灵活搜索使用模型属性名称(在您的情况下为name

灵活的搜索语法

SELECT * FROM {Customer} WHERE {name} IS NOT NULL

或者

SELECT * FROM {Customer  AS c} WHERE {c.name} IS NOT NULL

SQL查询

您可以从HAC > console > FlexibleSearch > SQL query

运行
SELECT * FROM users WHERE p_name is not null

参考FlexibleSearch Samples和其他Tips and Tricks

答案 1 :(得分:0)

使用灵活搜索时,需要按代码引用属性和类型。 Hybris将此查询转换为sql查询。所以在你的情况下:

SELECT * FROM {Customer  AS p} WHERE {p.name} IS NOT NULL