クラス・クエリの実行
システムは、Caché クラスのクラス・クエリごとにメソッドを自動的に生成して、Java プロジェクションに追加します。Caché クエリ名の前に “query_” が付いたものが、メソッド名になります。Java メソッドは、タイプ com.intersys.objects.CacheQuery のオブジェクトを返します。
例えば、Caché Contact クラスに、RetrieveByContactType という名前のクラス・クエリが含まれているとします。Caché では、以下のシグニチャを持つメソッドを Java プロジェクションに追加します。
public static CacheQuery query_RetrieveByContactType (Database db)
throws CacheException
CacheQuery execute メソッドを使用して、クエリを実行します。以下の Java メソッドは、Java プロジェクションを使用して RetrieveByContactType クエリを実行します。このメソッドでは、type を入力パラメータ値としてクエリに渡します。
public class BindingExamples {
public static void displayContactsByType(Database db, String type)
throws CacheException, SQLException{
CacheQuery query = Contact.query_RetrieveByContactType(db);
java.sql.ResultSet rs=query.execute(type);
System.out.println(type + " Contacts");
while (rs.next()){
System.out.println(rs.getString(1));
}
}
}
Caché クラスのクエリを Java に投影するには、そのクエリに SqlProc キーワードを記述する必要があります。
com.intersys.classes パッケージには ResultSet クラスが含まれていますが、このクラスは使用しないでください。
com.intersys.classes がソース・ファイルにインポートされた場合に正確に認識されるように、java.sql.ResultSet の完全修飾名を使用する必要があります。