이 콘텐츠는 선택한 언어로 제공되지 않습니다.
Chapter 13. Annotating Objects and Querying
Once indexing has been enabled, custom objects being stored in Red Hat JBoss Data Grid need to be assigned appropriate annotations.
As a basic requirement, all objects required to be indexed must be annotated with
@Indexed
In addition, all fields within the object that will be searched need to be annotated with
@Field
.
Example 13.1. Annotating Objects with @Field
For other annotations and options, see Chapter 14, Mapping Domain Objects to the Index Structure
Important
When using JBoss EAP modules with JBoss Data Grid with the domain model as a module, add the org.infinispan.query dependency with slot "jdg-7.0" into the
module.xml
file. The custom annotations are not picked by the queries without the org.infinispan.query dependency and results in an error.
13.1. Registering a Transformer via Annotations 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
The key for each value must also be indexed, and the key instance must then be transformed in a String.
Red Hat JBoss Data Grid includes some default transformation routines for encoding common primitives, however to use a custom key you must provide an implementation of
org.infinispan.query.Transformer
.
The following example shows how to annotate your key type using
org.infinispan.query.Transformer
:
Example 13.2. Annotating the Key Type
The two methods must implement a biunique correspondence.
For example, for any object A the following must be true:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Example 13.3. Biunique Correspondence
A.equals(transformer.fromString(transformer.toString(A));
A.equals(transformer.fromString(transformer.toString(A));
This assumes that the transformer is the appropriate Transformer implementation for objects of type A.