No pude encontrar ninguna documentación, pero recuerdo haber visto una explicación del uso del símbolo caret (^). Si lo encuentro, actualizaré mi respuesta con la documentación relacionada.
De todos modos, investigué la Traducción de Búsqueda Flexible (en la versión 1905.24) desde el lado del código y descubrí que hay 3 caracteres que se utilizan junto con el nombre del tipo en la Consulta de Búsqueda Flexible, que son (!), (*) y (^). El código relacionado se puede encontrar en ParsedType.class (paquete: de.hybris.platform.persistence.flexiblesearch, método: public static String[] splitTypeExpression(String expr)).
En ese método, estos caracteres están relacionados con las siguientes cadenas
(!) : "exact"
(*) : "alltypes"
(^) : "deploymenttypes"
Puedes encontrar la explicación detallada para el carácter (!) (correspondiente a la palabra clave "exact") en
https://help.sap.com/viewer/d0224eca81e249cb821f2cdf45a82ace/2011/en-US/b3c53d29850c47faa977f0cda707...
Y el código en FromClause.class tiene una llamada al constructor para estas coincidencias de la siguiente manera:
ParsedType parsedType = new ParsedType(this, typeCode, alias, noSubtypes, disableTypeChecks, excludeSubtypesWithOwnDeployment);
noSubtypes es verdadero cuando se usa "exact"
disableTypeChecks es verdadero cuando se usa "alltypes"
excludeSubtypesWithOwnDeployment es verdadero cuando se usa "deploymenttypes"
Esto parece estar diciendo algo, pero es mejor para entender los casos con un ejemplo.
Por ejemplo, usaré AbstractCoupon de la extensión couponservices y CustomerCoupon de la extensión customercouponservices que extiende AbstractCoupon.
Ambos tipos tienen sus propias tablas de implementación.
Cuando buscamos sin ninguno de ellos
SELECT {PK} FROM {AbstractCoupon AS c}
Se traducirá de la siguiente manera
SELECT item_t0.PK FROM coupon item_t0 WHERE (item_t0.TypePkString IN (?,?,?) ) UNION ALL SELECT item_t0.PK FROM customercoupons item_t0 WHERE (item_t0.TypePkString=? )
Parámetros reemplazados: [8796136538194, 8796136505426, 8796136472658, 8796136603730]
Dado que CustomerCoupon extiende AbstractCoupon, se traduce como una consulta de UNION.
Si usamos (!) en la consulta
SELECT {PK} FROM {AbstractCoupon! AS c}
Se traducirá de la siguiente manera
SELECT item_t0.PK