Hybris 灵活查询不适用于客户类型
Hybris flexible query is not working for Customer type
我运行下面查询通过
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'
当您使用灵活搜索时,您需要通过代码来引用属性和类型。 Hybris 然后将此查询转换为 sql 查询。所以在你的情况下:
SELECT * FROM {Customer AS p} WHERE {p.name} IS NOT NULL
对灵活查询和 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 and other Tips and Tricks
我运行下面查询通过 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'
当您使用灵活搜索时,您需要通过代码来引用属性和类型。 Hybris 然后将此查询转换为 sql 查询。所以在你的情况下:
SELECT * FROM {Customer AS p} WHERE {p.name} IS NOT NULL
对灵活查询和 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 and other Tips and Tricks