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?

永続性マネージャの作成

com.jalapeno.ObjectManager クラスには、POJO の永続性を管理するためのメソッドがあります。basic.Contact の永続性を管理するには、新しい Java 永続性マネージャ・クラスとして basic.DBService を作成します。これには、以下の操作を行います。

  1. ObjectManager のインスタンスを作成し、java.sql.Connection オブジェクトで初期化します。

  2. Contact インスタンスを Caché に保存するための、ObjectManager save メソッドを使用する saveContact メソッドを含めます。

  3. Caché 内のすべての Contact インスタンスを開くための、ObjectManager openByQuery メソッドを使用する allContacts メソッドを含めます。

以下の import 文を DBService クラスに記述します。


import com.jalapeno.ApplicationContext;
import com.jalapeno.ObjectManager;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Iterator;

DBService コンストラクタで ObjectManager インスタンスを作成します。このコンストラクタでは、com.jalapeno.ApplicationContext クラスで提供されているファクトリ・メソッドの createObjectManager を使用します。hostusernamepassword、および url には、正しい Caché システムとネームスペースの値を指定する必要があります。また、objectManager 変数には、クラスのスコープがあることに注意してください。つまり、すべてのメソッドの外部で宣言されています。


public DBService ()
      throws Exception
  {
        String           host = "localhost";
        String           username="_SYSTEM";  // null for default
        String           password="SYS";  // null for default

        String           url="jdbc:Cache://" + host + ":1972/USER";

        Class.forName ("com.intersys.jdbc.CacheDriver");
        Connection connection =  
                      DriverManager.getConnection (url, username, password);
        objectManager = ApplicationContext.createObjectManager (connection);
    }

DBService saveContact メソッドは、引数に Contact インスタンスを 1 つ取ります。このメソッドは、ObjectManager save メソッドを使用して、Caché に保存します。


 protected void saveContact(Contact contact )
 throws Exception
 {
    objectManager.save(contact, true);
       
 }
 

DBService allContacts メソッドは、データベースからすべての Contact インスタンスを取得します。このメソッドは、開いている一連の POJO に Iterator を返します。このメソッドは、ObjectManager openByQuery メソッドを使用してオブジェクトを取得します。


protected Iterator allContacts ()
throws Exception
 {
    return objectManager.openByQuery (Contact.class, null, null);
 }  

Note:

ObjectManager は、リフレクションか、生成されたヘルパー・クラスのいずれかを利用して POJO データにアクセスするように設定できます。詳細は、付録の "アクセス設定" を参照してください。

Note:

DBService のソース・コード全体は付録に掲載されています。ここをクリックしてください。

"第 II 章 : その他の例" では、save および openByQuery メソッドとその引数について詳しく説明します。

FeedbackOpens in a new tab