我在下面运行查询 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'
答案 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
您可以从HAC > console > FlexibleSearch > SQL query
SELECT * FROM users WHERE p_name is not null
答案 1 :(得分:0)
使用灵活搜索时,需要按代码引用属性和类型。 Hybris将此查询转换为sql查询。所以在你的情况下:
SELECT * FROM {Customer AS p} WHERE {p.name} IS NOT NULL