public class HintComment extends java.lang.Object implements ASTNode
EQLのヒントコメントを表現します。
ヒントには、EQL上でのインデックス付与に関するヒント、バインド変数化に関するヒント、キャッシュ、クエリのタイムアウト、フェッチサイズに関するヒント、データベースネイティブのヒントなどを付与することが可能です。
ヒントコメントは、select句の後に/*+で始まり、*/で終わるコメント形式で指定することが可能です。
select /*+ fetch_size(100) index(c.x) no_index(a, b) native('ORDERED USE_NL_WITH_INDEX(...)') */ a, b, c.x, d.x, d.name from SampleEntity where c.x='hoge' and a=1 and b=15
また、ヒント句は外部のプロパティファイルに定義し、そのプロパティファイルからキー名を指定して読み込むことが可能です。 プロパティファイルのパスはQueryServiceに定義します。
hint1=native(q0t0, 'FORCE INDEX(obj_store__USER_ISTR_index_3)') hint2=native(q0, 'FORCE INDEX(obj_store_ISTR_index_1)') :
select /*+ @hint(hint1) */ a, b, c.x, d.x, d.name from SampleEntity where c.x='hoge' and a=1 and b=15上記設定ファイルの場合、これが、
select /*+ native(q0t0, 'FORCE INDEX(obj_store__USER_ISTR_index_3)') */ a, b, c.x, d.x, d.name from SampleEntity where c.x='hoge' and a=1 and b=15と展開されます。
また、Hint.externalHint(String)
で外部ファイルに定義されるHintをインスタンスとして取得可能です。
コンストラクタと説明 |
---|
HintComment() |
HintComment(Hint... hint) |
HintComment(java.util.List<Hint> hintList) |
HintComment(java.lang.String hint) |
修飾子とタイプ | メソッドと説明 |
---|---|
ASTNode |
accept(ASTTransformer transformer) |
void |
accept(HintVisitor visitor) |
HintComment |
add(Hint hint) |
HintComment |
add(java.util.List<Hint> hintList) |
boolean |
equals(java.lang.Object obj) |
java.util.List<Hint> |
getHintList() |
int |
hashCode() |
void |
setHintList(java.util.List<Hint> hintList) |
java.lang.String |
toString() |
public HintComment()
public HintComment(java.util.List<Hint> hintList)
public HintComment(Hint... hint)
public HintComment(java.lang.String hint)
public java.util.List<Hint> getHintList()
public void setHintList(java.util.List<Hint> hintList)
public HintComment add(Hint hint)
public HintComment add(java.util.List<Hint> hintList)
public int hashCode()
public boolean equals(java.lang.Object obj)
public java.lang.String toString()
public ASTNode accept(ASTTransformer transformer)
public void accept(HintVisitor visitor)