Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

オブジェクト : 生成、オープン、および保持

CacheDatabase オブジェクトを参照できるようになると、プロジェクションを使用して、新しいオブジェクトの生成、既存オブジェクトのオープン、および新しいオブジェクトや変更されたオブジェクトのデータベースへの保存を行うことができます。

新しいオブジェクトを生成するには、Java プロジェクション・クラスに含まれているコンストラクタを使用します。コンストラクタは、Java プロジェクション・クラスのインスタンスを Java クライアントに生成すると共に、対応する Caché クラスのインスタンスを Caché サーバにも生成します。インスタンスを生成しても、そのインスタンスは自動的にデータベースに保存されません。オブジェクトが保存されるまで、Caché ではそのインスタンスをオブジェクト ID に割り当てません。CacheDatabase オブジェクトへの参照を、引数としてコンストラクタに指定する必要があります。以下のコードは、Contact クラスのコンストラクタを呼び出します。


Contact contact = new Contact(db);

保存されたオブジェクトをオープン、つまり Java クライアントと Caché サーバの両方のメモリに格納するには、そのオブジェクトのプロジェクション・クラスの _open メソッドを使用します。オブジェクト ID を使用してオープンするオブジェクトを選択します。以下のコードでは、オブジェクト ID 1 の Contact インスタンスをオープンしています。オブジェクトは、適切な型に明示的にキャストする必要があります。


Contact contact = (Contact)(Contact._open(db, new Id(1)))

Caché オブジェクトをデータベースに保存するには、その Java プロジェクションの save メソッドを呼び出します。オブジェクトがまだ保存されていない場合には、Caché によりそのオブジェクトにオブジェクト ID が割り当てられます。プロジェクションの save メソッドを実行すると、対応する Caché オブジェクトの %Save メソッドも実行されます。処理が成功した場合、save メソッドは 1 を返します。


int success = contact.save();

Note:

上記すべてのメソッドは、CacheException タイプのチェック済み例外を返します。

Caché でのオブジェクト ID の詳細は、"Caché オブジェクトの使用法" の "保存したオブジェクトの識別子 : ID および OID" を参照してください。

FeedbackOpens in a new tab