各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Hibernate を使用することで、オブジェクト指向のドメインモデルを従来のリレーショナルデータベースにマッピングすることができます。以下のチュートリアルでは、CData JDBC Driver for BusinessBridge を使用し、Hibernate でBusiness b-ridge リポジトリのORM を生成する方法を説明します。
この記事を通してEclipse がIDE として選択されていますが、CData JDBC Driver for BusinessBridge はJava Runtime Environment をサポートするすべての 製品で機能します。Knowledge Base には、IntelliJ IDEA やNetBeans からBusiness b-ridge に接続するためのチュートリアルがあります。
以下のステップに従って、Eclipse にHibernate プラグインをインストールします。
以下のステップに従って、新しいプロジェクトにドライバーJARs を追加します。
以下のステップに従って、Business b-ridge に接続プロパティを構成します。
以下の値をインプットします。
Connection URL:jdbc:businessbridge: で始まり、セミコロンで区切られた接続プロパティのリストが続くJDBC URL
B b-ridge への接続には、Company Key、Project Key、Subscription Key が必要となります。それぞれWeb API 利用申請時に取得できます。取得したKey を接続プロパティに設定して接続します。
JDBC URL の構成については、Business b-ridge JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.businessbridge.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:businessbridge:InitiateOAuth=GETANDREFRESH
以下のステップに従って、前の手順で作成した構成を選択します。
以下のステップに従って、reveng.xml 構成ファイルを生成します。アクセスするテーブルをオブジェクトとして指定します。
以下のステップに従って、plain old Java objects (POJO) をBusiness b-ridge テーブルに生成します。
POJO は、前のステップのリバースエンジニアリング設定に基づいて作成されます。
生成したマッピングごとにhibernate.cfg.xml にマッピングタグを作成し、Hibernate がマッピングリソースを指定するようにする必要があります。hibernate.cfg.xml を開き、次のようにマッピングタグを挿入します。
cdata.businessbridge.BusinessBridgeDriver
jdbc:businessbridge:InitiateOAuth=GETANDREFRESH
org.hibernate.dialect.SQLServerDialect
前の手順で作成したエンティティを使用して、Business b-ridge のsearchを行うことができます。
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 CDATA C WHERE ItemTypeId = :ItemTypeId";
Query q = session.createQuery(SELECT, CDATA.class);
q.setParameter("ItemTypeId","1");
List<CDATA> resultList = (List<CDATA>) q.list();
for(CDATA s: resultList){
System.out.println(s.getItemId());
System.out.println(s.getStructureId());
}
}
}