Я пытаюсь запустить Flexible Search Query из слоя DAO. Мой запрос - это что-то вроде:java.lang.IllegalArgumentException: invalid pks [10] - unknown typecode 0
SELECT {loyaltypoints},{redeemedloyaltypoints}
FROM {LoyaltyUser}
WHERE {uid} =?uid
0 Я вижу сообщение трассировки стека, как
SEVERE: Servlet.service() for servlet [DispatcherServlet] in context with path [/store]
threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException:
invalid pks [10] - unknown typecode 0] with root cause
java.lang.IllegalArgumentException: invalid pks [10] - unknown typecode 0
at de.hybris.platform.core.WrapperFactory.getCachedItems(WrapperFactory.java:304)
at de.hybris.platform.core.LazyLoadItemList.loadPage(LazyLoadItemList.java:230)
at de.hybris.platform.servicelayer.search.impl.LazyLoadModelList.loadPage(LazyLoadModelList.java)"
Мои items.xml
выглядит следующим образом:
<itemtype code="LoyaltyUser" extends="Customer" autocreate="true" generate="true"
jaloclass="de.hybris.merchandise.core.jalo.LoyaltyUser">
<deployment table="LoyaltyUsers" typecode="10010"/>
<attributes>
<attribute generate="true" autocreate="true" qualifier="loyaltypoints" type="java.lang.Integer" >
<description>Loyalty points given for each purchase</description>
<modifiers read="true" write="true" search="true" optional="true" />
<defaultvalue>Integer.valueOf(0)</defaultvalue>
<persistence type="property"/>
</attribute>
<attribute generate="true" autocreate="true" qualifier="redeemedloyaltypoints" type="java.lang.Integer" >
<description>Redeemed Loyalty points For a customer</description>
<modifiers read="true" write="true" search="true" optional="true" />
<defaultvalue>Integer.valueOf(0)</defaultvalue>
<persistence type="property"/>
</attribute>
</attributes>
</itemtype>
Может кто-нибудь помочь мне с этим вопросом?
Вы попробовали отладить это? Не могли бы вы предоставить полную гибкую строку запроса? Каков твой тип возврата запроса? Если вы ожидаете появления экземпляров LoyaltyUser, возможно, вам придется включить {pk}, чтобы вернуть элемент LoyaltyUser обратно, сейчас вы выбираете только два целых числа. – Sebastian