2016-03-06 45 views
1

我成功地创建并执行了一个带有WHERE子句的flexiblesearch查询,该查询将添加到CartModel的定制属性与一个枚举值进行比较。 但我不知道如何“翻译”它来尝试HAC(只是在编码之前尝试修复它)。 在我的课堂我已经工作代码:hybris Flex搜索 - 使用枚举的Where子句

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

我设置reservedOnHybris参数与

searchQuery.addQueryParameter("reservedOnHybris", ReservationOrderStatus.INITIAL_STATUS); 

如何翻译这个尝试一下在HAC的FlexibleSearch面板上? 在此先感谢。

啤酒

+0

您可以在HMC中检查EnumValue的PK并将其替换为reservedOnHybris参数。 '从{Cart}中选择{PK},其中{RESERVATIONORDERSTATUS} = ENUM_VALUE_PK' –

回答

0

尝试:

​​

基本上像 “CartModel.PK” 可以通过字符串替换。

3

这应该工作:

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,你可以通过使用一个选择查询做到这一点。

+0

好的。这工作正常。谢谢 – AlexD