Não consegui encontrar nenhuma documentação, mas lembro de ter visto uma explicação sobre o uso do símbolo caret (^). Se encontrar, atualizarei minha resposta com a documentação relacionada.
De qualquer forma, investiguei a Tradução de Busca Flexível (na versão 1905.24) pelo lado do código e descobri que existem 3 caracteres que são usados junto com o nome do tipo na Consulta de Busca Flexível, que são (!), (*) e (^). O código relacionado pode ser encontrado em ParsedType.class (pacote: de.hybris.platform.persistence.flexiblesearch, método: public static String[] splitTypeExpression(String expr)).
Nesse método, esses caracteres estão relacionados com as seguintes strings
(!) : "exact"
(*) : "alltypes"
(^) : "deploymenttypes"
Você pode encontrar a explicação detalhada para o caractere (!) (correspondente à palavra-chave "exact") em
https://help.sap.com/viewer/d0224eca81e249cb821f2cdf45a82ace/2011/en-US/b3c53d29850c47faa977f0cda707...
E o código em FromClause.class tem uma chamada ao construtor para essas correspondências da seguinte forma:
ParsedType parsedType = new ParsedType(this, typeCode, alias, noSubtypes, disableTypeChecks, excludeSubtypesWithOwnDeployment);
noSubtypes é verdadeiro quando se usa "exact"
disableTypeChecks é verdadeiro quando se usa "alltypes"
excludeSubtypesWithOwnDeployment é verdadeiro quando se usa "deploymenttypes"
Isso parece estar dizendo algo, mas é melhor para entender os casos com um exemplo.
Por exemplo, usarei AbstractCoupon da extensão couponservices e CustomerCoupon da extensão customercouponservices que estende AbstractCoupon.
Ambos os tipos têm suas próprias tabelas de implementação.
Quando buscamos sem nenhum deles
SELECT {PK} FROM {AbstractCoupon AS c}
Será traduzido da seguinte forma
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 substituídos: [8796136538194, 8796136505426, 8796136472658, 8796136603730]
Como CustomerCoupon estende AbstractCoupon, é traduzido como uma consulta de UNION.
Se usarmos (!) na consulta
SELECT {PK} FROM {AbstractCoupon! AS c}
Será traduzido da seguinte forma
SELECT item_t0.PK