永続性マネージャの作成
com.jalapeno.ObjectManager クラスには、POJO の永続性を管理するためのメソッドがあります。basic.Contact の永続性を管理するには、新しい Java 永続性マネージャ・クラスとして basic.DBService を作成します。これには、以下の操作を行います。
-
ObjectManager のインスタンスを作成し、java.sql.Connection オブジェクトで初期化します。
-
Contact インスタンスを Caché に保存するための、ObjectManager save メソッドを使用する saveContact メソッドを含めます。
-
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 を使用します。host、username、password、および 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);
}
ObjectManager は、リフレクションか、生成されたヘルパー・クラスのいずれかを利用して POJO データにアクセスするように設定できます。詳細は、付録の "アクセス設定" を参照してください。
DBService のソース・コード全体は付録に掲載されています。ここをクリックしてください。
"第 II 章 : その他の例" では、save および openByQuery メソッドとその引数について詳しく説明します。