Java のFinancialForce データエンティティを使用したObject-Relational Mapping (ORM)

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

FinancialForce JDBC Driver

FinancialForce データに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。



Object-relational mapping (ORM) 技術により、リレーショナルデータソースの操作が容易になり、論理的なビジネスモデルと物理的なストレージモデルを橋渡しすることができます。このチュートリアルに従って、FinancialForce への接続をJava ベースのORM フレームワークであるHibernate に連携します。

Hibernate を使用することで、オブジェクト指向のドメインモデルを従来のリレーショナルデータベースにマッピングすることができます。以下のチュートリアルでは、CData JDBC Driver for FinancialForce を使用し、Hibernate でFinancialForce リポジトリのORM を生成する方法を説明します。

この記事を通してEclipse がIDE として選択されていますが、CData JDBC Driver for FinancialForce はJava Runtime Environment をサポートするすべての 製品で機能します。Knowledge Base には、IntelliJ IDEA やNetBeans からFinancialForce に接続するためのチュートリアルがあります。

Hibernate をインストール

以下のステップに従って、Eclipse にHibernate プラグインをインストールします。

  1. Eclipse で、[Help]->[Install New Software]と進みます。
  2. Work With ボックスに[http://download.jboss.org/jbosstools/neon/stable/updates/] と入力します。
  3. フィルタボックスに、[Hibernate]と入力します。
  4. [Hibernate Tools]を選択します。

新しいプロジェクトを開始

以下のステップに従って、新しいプロジェクトにドライバーJARs を追加します。

  1. 新しいプロジェクトを作成します。プロジェクトタイプとして[Java Project]を選択し、[Next]をクリックします。プロジェクト名を入力し、[Finish]をクリックします。
  2. [project]を右クリックし、[Properties]を選択します。[Java Build Path]をクリックし、[Libraries]タブを開きます。
  3. [Add External JARs]をクリックし、インストールディレクトリのlib サブフォルダにあるcdata.jdbc.financialforce.jar ライブラリを追加します。

Hibernate 構成ファイルを追加

以下のステップに従って、FinancialForce に接続プロパティを構成します。

  1. [new project]で右クリックし、[New]->[Hibernate]->[Hibernate Configuration File (cfg.xml)]と進みます。
  2. 親フォルダとして[src]を選択し、[Next]をクリックします。
  3. 以下の値をインプットします。

    • Hibernate version:5.2
    • Database dialect:Derby
    • Driver class: cdata.jdbc.financialforce.FinancialForceDriver
    • Connection URL:jdbc:financialforce: で始まり、セミコロンで区切られた接続プロパティのリストが続くJDBC URL

      There are several authentication methods available for connecting to FinancialForce: login credentials, SSO, and OAuth.

      Authenticating with a Login and Token

      Set the User and Password to your login credentials. Additionally, set the SecurityToken. By default, the SecurityToken is required, but you can make it optional by allowing a range of trusted IP addresses.

      To disable the security token:

      1. Log in to FinancialForce and enter "Network Access" in the Quick Find box in the setup section.
      2. Add your IP address to the list of trusted IP addresses.

      To obtain the security token:

      1. Open the personal information page on FinancialForce.com.
      2. Click the link to reset your security token. The token will be emailed to you.
      3. Specify the security token in the SecurityToken connection property or append it to the Password.

      Authenticating with OAuth

      If you do not have access to the user name and password or do not want to require them, use the OAuth user consent flow. See the OAuth section in the Help for an authentication guide.

      Connecting to FinancialForce Sandbox Accounts

      Set UseSandbox to true (false by default) to use a FinancialForce sandbox account. Ensure that you specify a sandbox user name in User.

      ビルトイン接続文字列デザイナ

      JDBC URL の構成については、FinancialForce JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.financialforce.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      以下は一般的なJDBC URL です。

      jdbc:financialforce:User=myUser;Password=myPassword;Security Token=myToken;InitiateOAuth=GETANDREFRESH

Hibernate のFinancialForce データへの接続

以下のステップに従って、前の手順で作成した構成を選択します。

  1. [Window]->[Open Perspective]->[Hibernate]と進み、Hibernate Configurations パースペクティブに切り替えます。
  2. [Hibernate Configurations]パネルで右クリックし、[Add Configuration]を選択します。
  3. Hibernate version を5.2に設定します。
  4. [Browse]ボタンをクリックし、[project]を選択します。
  5. [Configuration file]フィールドで、[Setup]->[Use Existing]とクリックし、(このデモのsrc フォルダー内にある)hibernate.cfg.xml ファイルを選択します。
  6. [Classpath tab]で、[User Entries]の下に何もなかった場合、[Add External JARS]をクリックしてドライバーjar をもう一度追加します。構成が完了したら、[OK]をクリックします。
  7. 新しく作成されたHibernate 構成ファイルのDatabase node を展開します。

FinancialForce データをリバースエンジニアリング

以下のステップに従って、reveng.xml 構成ファイルを生成します。アクセスするテーブルをオブジェクトとして指定します。

  1. Package Explorer に戻ります。
  2. プロジェクトを右クリックし、[New]->[Hibernate]->[Hibernate Reverse Engineering File (reveng.xml)]と進みます。[Next]をクリックします。
  3. 親フォルダとして[src]を選択し、[Next]をクリックします。
  4. [Console configuration drop-down]メニューで、上で作成した[Hibernate configuration]ファイルを選択し、[Refresh]をクリックします。
  5. ノードを展開し、リバースエンジニアリングするテーブルを選択します。完了したら、[Finish]をクリックします。

実行するためのHibernate を構成

以下のステップに従って、plain old Java objects (POJO) をFinancialForce テーブルに生成します。

  1. メニューバーから、[Run]->[Hibernate Code Generation]->[Hibernate Code Generation Configurations]と進みます。
  2. [Console configuration drop-down]メニューで、前のセクションで作成した[Hibernate configuration]ファイルを選択します。Output ディレクトリで[Browse]をクリックし、src を選択します。
  3. [JDBC Connection]チェックボックスから[Reverse Engineer]を有効にします。[Setup]ボタンをクリックし、[Use Existing]をクリックして(このデモのsrcフォルダ内にある) hibernate.reveng.xml ファイルの場所を選択します。
  4. [Exporters]タブで[Domain code (.java)]と[Hibernate XML Mappings (hbm.xml)]をチェックします。
  5. [Run]をクリックします。

POJO は、前のステップのリバースエンジニアリング設定に基づいて作成されます。

マッピングタグを挿入

生成したマッピングごとにhibernate.cfg.xml にマッピングタグを作成し、Hibernate がマッピングリソースを指定するようにする必要があります。hibernate.cfg.xml を開き、次のようにマッピングタグを挿入します。

cdata.financialforce.FinancialForceDriver jdbc:financialforce:User=myUser;Password=myPassword;Security Token=myToken;InitiateOAuth=GETANDREFRESH org.hibernate.dialect.SQLServerDialect

SQLを実行

前の手順で作成したエンティティを使用して、FinancialForce の検索と変更を行うことができます。 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 Account A WHERE Industry = :Industry"; Query q = session.createQuery(SELECT, Account.class); q.setParameter("Industry","Floppy Disks"); List<Account> resultList = (List<Account>) q.list(); for(Account s: resultList){ System.out.println(s.getBillingState()); System.out.println(s.getName()); } } }