hybris Flexiblesearch - 带枚举的where子句

时间:2016-03-06 21:04:43

标签: enums hybris

我成功创建并执行了一个带有WHERE子句的flexiblesearch查询,该子句将添加到CartModel的自定义属性与枚举值进行比较。 但我不知道如何翻译"它尝试HAC(只是在编写一个类之前尝试修复它)。 在我的班上,我有工作代码:

String MY_QUERY = "SELECT {" + CartModel.PK + "} FROM {" + CartModel._TYPECODE + "} "
                        + "WHERE " + "( {" + CartModel.RESERVATIONORDERSTATUS + "} = ?reservedOnHybris)";

我用

设置 reservedOnHybris 参数
  searchQuery.addQueryParameter("reservedOnHybris", ReservationOrderStatus.INITIAL_STATUS);

如何将其翻译为在HAC的FlexibleSearch面板上试用? 提前谢谢。

啤酒

2 个答案:

答案 0 :(得分:4)

这应该有效:

String MY_QUERY = "SELECT {" + CartModel.PK + "} FROM {" + CartModel._TYPECODE + "} "
                    + "WHERE " + "( {" + CartModel.RESERVATIONORDERSTATUS + "} = 
                    ({{SELECT {crse.PK} FROM {" + CartReservationStatusEnum._TYPECODE 
                    + " as crse} WHERE {crse.code} = '" + ?reservedOnHybris + "'}}))"

您应该获得枚举的PK,您可以使用选择查询来执行此操作。

答案 1 :(得分:0)

Try :

SELECT {PK} FROM {Cart} WHERE {RESERVATIONORDERSTATUS} = "Your status"

Basically things like "CartModel.PK" could be replaced by the String.