各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Hibernate を使用することで、オブジェクト指向のドメインモデルを従来のリレーショナルデータベースにマッピングすることができます。以下のチュートリアルでは、CData JDBC Driver for ESalesManager を使用し、Hibernate でe-Sales Manager リポジトリのORM を生成する方法を説明します。
この記事を通してEclipse がIDE として選択されていますが、CData JDBC Driver for ESalesManager はJava Runtime Environment をサポートするすべての 製品で機能します。Knowledge Base には、IntelliJ IDEA やNetBeans からe-Sales Manager に接続するためのチュートリアルがあります。
以下のステップに従って、Eclipse にHibernate プラグインをインストールします。
以下のステップに従って、新しいプロジェクトにドライバーJARs を追加します。
以下のステップに従って、e-Sales Manager に接続プロパティを構成します。
以下の値をインプットします。
Connection URL:jdbc:esalesmanager: で始まり、セミコロンで区切られた接続プロパティのリストが続くJDBC URL
e セールスマネージャー Remix に接続するには、User、Passowrd、URL、TenantId パラメータが必要です。
JDBC URL の構成については、e-Sales Manager JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.esalesmanager.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:esalesmanager:User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;
以下のステップに従って、前の手順で作成した構成を選択します。
以下のステップに従って、reveng.xml 構成ファイルを生成します。アクセスするテーブルをオブジェクトとして指定します。
以下のステップに従って、plain old Java objects (POJO) をe-Sales Manager テーブルに生成します。
POJO は、前のステップのリバースエンジニアリング設定に基づいて作成されます。
生成したマッピングごとにhibernate.cfg.xml にマッピングタグを作成し、Hibernate がマッピングリソースを指定するようにする必要があります。hibernate.cfg.xml を開き、次のようにマッピングタグを挿入します。
cdata.esalesmanager.ESalesManagerDriver
jdbc:esalesmanager:User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;
org.hibernate.dialect.SQLServerDialect
前の手順で作成したエンティティを使用して、e-Sales Manager の検索と変更を行うことができます。
import java.util.*;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;
public class App {
public static void main(final String[] args) {
Session session = new
Configuration().configure().buildSessionFactory().openSession();
String SELECT = "FROM Customer C WHERE Address = :Address";
Query q = session.createQuery(SELECT, Customer.class);
q.setParameter("Address","CustomerAddress");
List<Customer> resultList = (List<Customer>) q.list();
for(Customer s: resultList){
System.out.println(s.getName());
System.out.println(s.getAddress());
}
}
}