説明

ファイル生成システムおよびファイル生成方法

【課題】O/Rマッピング分野においてJavaの生産性を向上させる。
【解決手段】テーブル設計書読込装置101が、テーブルがテーブル設計書100を読み込み、ソース生成制御装置102が、テーブル設計書100のテーブルのカラムの組み合わせに基づいて、データクラス生成装置103と、データアクセスクラス生成装置104と、SQL文定義ファイル生成装置105とを制御し、生成された、SQL文定義ファイル108と、データクラスファイル106と、データアクセスクラスファイル107とを、Javaの前記O/Rマッピング上で動作させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイルを生成するファイル生成システムおよびファイル生成方法に関し、特にO/Rマッピング分野においてファイルを生成するファイル生成システムおよびファイル生成方法に関する。
【背景技術】
【0002】
iBATISのiBATORでは、基本的なCRUD(Create、Read、Update、Delete)のSQL(Structured Query Language)文を生成し、データアクセスクラスを通してそれを利用することができる機能が提供されている。この機能のReadでは、以下の機能が提供されている。
(1)主キーを条件としてSELECTする機能
(2)値がセットされているカラムをANDで繋げた文を条件としてSELECTする機能
(1)の機能は、たいていのO/Rマッピングで提供されている機能である。一方、(2)の機能は、iBATORの独自の機能である。
【0003】
しかしながら、上述した(1)および(2)の機能においては、同じメソッド内で値がセットされているという前提で検索条件を構築するため、利用する側からは内部で使用される条件を推測しにくく、バグの原因を発生させてしまう。
【0004】
また、プログラム言語の1つであるJava(登録商標)の後発として登場したRuby on Railsは、Javaよりも生産性が一般的に高いと言われている。その理由の1つとして挙げられるのが、Ruby on RailsがActive Recordの動的ファインダー機能を有するという点である。
【0005】
Ruby on Railsのような動的言語では「MethodMissingException」が発生した場合にある特定のメソッドを動作させ、その中でメソッド名を解析することができるメタプログラミングの機能がある。このメソッド名の解析機能により動的ファインダー機能を実現している。
【0006】
Ruby on RailsのActive Recordでは、動的ファインダー機能が提供されているが、完全一致の検索のみにしか利用できない。さらに、ANDで繋げた条件文しか利用できない。
【0007】
一般的にJavaはRuby on Railsよりも動作速度が速いため、エンタープライズ向けに多く用いられている。そこで、Javaの生産性をRuby on Railsと同等にすることができれば、エンタープライズシステム開発の生産性を向上させることができるため、情報技術の発展に貢献することができる。
【0008】
また、RDBMS(リレーショナルデータベースマネイジメントシステム)から取得された項目定義情報を解析し、その解析結果と取得した領域パラメータとから所望のSQL定義文を作成する技術が考えられている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平11−259345号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、Ruby on Railsは動的言語であるため、これを静的言語であるJavaには適用できないという問題点がある。
【0011】
Javaで動的ファインダー機能を実現するためには、メソッドやSQL文を自動生成し、また仕様変更に応じて動的に再生成しなければならないという問題点がある。
【0012】
また、特許文献1に記載された技術は、データアクセスクラスおよびそれに関連するデータアクセスのSQL文を生成するものではない。
【0013】
本発明の目的は、上述した課題を解決するファイル生成システムおよびファイル生成方法を提供することである。
【課題を解決するための手段】
【0014】
本発明のファイル生成システムは、
テーブル設計書読込装置と、ソース生成制御装置と、データクラス生成装置と、データアクセスクラス生成装置と、SQL文定義ファイル生成装置とから構成されたファイル生成システムにおいて、
前記テーブル設計書読込装置は、テーブルがあらかじめ定義されたテーブル設計書を読み込み、
前記ソース生成制御装置は、前記テーブル設計書のテーブルのカラムの組み合わせに基づいて、前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを制御し、
前記SQL文定義ファイル生成装置は、前記カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイルを生成し、
前記データクラス生成装置は、データアクセスクラス及び前記SQL文定義ファイルで使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイルを生成し、
前記データアクセスクラス生成装置は、前記カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、前記データクラスの値をSQL文に当てはめて、該SQL文を動作させるクラスである前記データアクセスクラスのファイルとなるデータアクセスクラスファイルを生成し、
前記SQL文定義ファイルと、前記データクラスファイルと、前記データアクセスクラスファイルとを、Javaの前記O/Rマッピング上で動作させることを特徴とする。
【0015】
また、本発明のファイル生成方法は、
テーブル設計書読込装置と、ソース生成制御装置と、データクラス生成装置と、データアクセスクラス生成装置と、SQL文定義ファイル生成装置とから構成されたファイル生成システムにおけるファイル生成方法であって、
前記テーブル設計書読込装置が、テーブルがあらかじめ定義されたテーブル設計書を読み込む処理と、
前記ソース生成制御装置が、前記テーブル設計書のテーブルのカラムの組み合わせに基づいて、前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを制御する処理と、
前記SQL文定義ファイル生成装置が、前記カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイルを生成する処理と、
前記データクラス生成装置が、データアクセスクラス及び前記SQL文定義ファイルで使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイルを生成する処理と、
前記データアクセスクラス生成装置が、前記カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、前記データクラスの値をSQL文に当てはめて、該SQL文を動作させるクラスである前記データアクセスクラスのファイルとなるデータアクセスクラスファイルを生成する処理と、
前記SQL文定義ファイルと、前記データクラスファイルと、前記データアクセスクラスファイルとを、Javaの前記O/Rマッピング上で動作させる処理とを有する。
【発明の効果】
【0016】
以上説明したように、本発明においては、O/Rマッピング分野においてJavaの生産性を向上させることができる。
【図面の簡単な説明】
【0017】
【図1】本発明のファイル生成システムの実施の一形態を示す図である。
【図2】図1に示したテーブル設計書の一例を示す図である。
【図3】図1に示したテーブル設計書読込装置が格納した各カラムの情報の一例である。
【図4】図1に示したソース生成制御装置の内部構成の一例を示す図である。
【図5】本形態におけるファイル生成方法のうち、図4に示した抽出部における処理を説明するためのフローチャートである。
【図6】図4に示したメソッド名生成部において、各カラム名をANDで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。
【図7】図4に示したメソッド名生成部において、各カラム名をORで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。
【図8】図4に示したメソッド名生成部において、「各カラム名+[Like/Ge]」をANDで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。
【図9】図4に示したメソッド名生成部において、「各カラム名+[Like/Ge]」をORで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。
【図10】図4に示したSQL文生成部において、各カラムをANDで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。
【図11】図4に示したSQL文生成部において、各カラムをORで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。
【図12】図4に示したSQL文生成部において、「各カラム+[LIKE/>=]」をANDで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。
【図13】図4に示したSQL文生成部において、「各カラム+[LIKE/>=]」をORで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。
【発明を実施するための形態】
【0018】
以下に、本発明の実施の形態について図面を参照して説明する。
【0019】
図1は、本発明のファイル生成システムの実施の一形態を示す図である。
【0020】
本形態は図1に示すように、テーブル設計書読込装置101と、ソース生成制御装置102と、データクラス生成装置103と、データアクセスクラス生成装置104と、SQL文定義ファイル生成装置105とから構成されている。
【0021】
テーブル設計書読込装置101は、テーブルがあらかじめ定義された設計書であるテーブル設計書100を読み込む。
【0022】
図2は、図1に示したテーブル設計書100の一例を示す図である。
【0023】
図1に示したテーブル設計書100は図2に示すように、テーブル名「T_TEST」、論理名、物理名、型、長さ、精度、必須、主キーおよび定義内容が項番(No)ごとにそれぞれ対応付けられたものとなっている。
【0024】
論理名は、「ユーザID」、「ユーザ名」や「電話番号(自宅)」等である。
【0025】
また、物理名は、論理名それぞれに対応した「USER_ID」、「USER_NAME」や「TEL_JITAKU」等である。
【0026】
また、型は、論理名および物理名に対応した「NUMBER」、「VARCHAR2」や「CHAR」等である。
【0027】
また、長さ、精度、必須、主キーおよび定義内容についても、あらかじめ設定されている。
【0028】
また、テーブル設計書読込装置101は、読み込んだテーブル設計書100からテーブル名と各カラムの情報を取得する。また、テーブル設計書読込装置101は、取得した各カラムの情報をテーブル名と対応付けて格納(記憶)する。
【0029】
図3は、図1に示したテーブル設計書読込装置101が格納した各カラムの情報の一例である。
【0030】
図1に示したテーブル設計書読込装置101が格納した各カラムの情報は図3に示すように、変数名と、型と、その説明とが対応付けられて「EntityMappingRow」として格納されている。この「説明」の部分が、設計書の各項目に相当する。これは、EntityMappingRowを基礎としてList<EntityMappingRow>に格納される。
【0031】
ソース生成制御装置102は、テーブル設計書100のテーブルのカラムの組み合わせに基づいて、データクラス生成装置103と、データアクセスクラス生成装置104と、SQL文定義ファイル生成装置105とを制御する。
【0032】
図4は、図1に示したソース生成制御装置102の内部構成の一例を示す図である。
【0033】
図1に示したソース生成制御装置102には図4に示すように、抽出部1021と、メソッド名生成部1022と、SQL文生成部1023と、起動部1024とが設けられている。
【0034】
抽出部1021は、テーブル設計書読込装置101が取得した全てのカラムからカラムの組み合わせを抽出する。また、抽出部1021は、テーブル設計書読込装置101が取得した全てのカラムから組み合わせることができるカラムの組み合わせ全てを抽出する。
【0035】
メソッド名生成部1022は、抽出部1021が抽出した組み合わせの各カラムのカラム名に基づいて、動的ファインダーメソッド名を生成する。また、メソッド名生成部1022は、抽出部1021が抽出した組み合わせの各カラムのカラム名を論理積であるANDで繋げたメソッド名を動的ファインダーメソッド名として生成する。または、メソッド名生成部1022は、抽出部1021が抽出した組み合わせの各カラムのカラム名を論理和であるORで繋げたメソッド名を動的ファインダーメソッド名として生成する。
【0036】
SQL文生成部1023は、抽出部1021が抽出した組み合わせの各カラムに基づいて、動的ファインダーSQL文を生成する。また、SQL文生成部1023は、抽出部1021が抽出した組み合わせの各カラムを論理積であるANDで繋げたSQLの条件文を動的ファインダーSQL文として生成する。または、SQL文生成部1023は、抽出部1021が抽出した組み合わせの各カラムを論理和であるORで繋げたSQLの条件文を動的ファインダーSQL文として生成する。
【0037】
起動部1024は、データクラス生成装置103と、データアクセスクラス生成装置104と、SQL文定義ファイル生成装置105とを起動する。
【0038】
SQL文定義ファイル生成装置105は、カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイル108を生成する。
【0039】
データクラス生成装置103は、データアクセスクラス及びSQL文定義ファイル108で使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイル106を生成する。
【0040】
データアクセスクラス生成装置104は、カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、データクラスの値をSQL文に当てはめて、SQL文を動作させるクラスであるデータアクセスクラスのファイルとなるデータアクセスクラスファイル107を生成する。
【0041】
また、図1に示した形態で生成されたSQL文定義ファイル108と、データクラスファイル106と、データアクセスクラスファイル107とを、JavaのO/Rマッピング上で動作させる。
【0042】
以下に、本形態におけるファイル生成方法のうち、図4に示した抽出部1021における処理について説明する。
【0043】
図5は、本形態におけるファイル生成方法のうち、図4に示した抽出部1021における処理を説明するためのフローチャートである。
【0044】
まず、全カラム数である変数nと、その中から抽出するカラム数である変数mとが初期化される(ステップS1)。mの値の取り得る範囲は、(1≦m≦全カラム数)であり、ステップS1では「1」に初期化される。
【0045】
その後、抽出部1021にて、異なるn個のものから異なるm個のものが抽出される。
【0046】
抽出後、mが全カラム数以下であるかどうかが判定される(ステップS2)。
【0047】
mが全カラム数以下ではないと判定された場合、処理は終了する。
【0048】
一方、mが全カラム数以下であると判定された場合、採用した組み合わせ数が組み合わせの総数以下の数値であるかどうかが判定される(ステップS3)。この「採用した組み合わせ」については、後述する。
【0049】
ここで、異なるn個のものから異なるm個のものを抽出する組み合わせの総数は、組み合わせの総数の計算式で表わされる。組み合わせの総数は、上述のように機械的に求められるが、具体的な組み合わせは機械的に求めることができない。
【0050】
そこで、採用した組み合わせ数が組み合わせの総数以下の数値であると判定された場合、異なるn個のものから異なるm個がランダムに抽出される(ステップS4)。この組み合わせは、組み合わせの総数とは違い、計算式により求めることができないため、ランダムに抽出される。
【0051】
すると、抽出したものと同じ組み合わせがすでに存在するかどうかが判定される(ステップS5)。
【0052】
ステップS5にて、抽出したものと同じ組み合わせが存在しないと判定された場合、その組み合わせが採用される(ステップS6)。そして、ステップS3の処理が再度行われる。この採用された組み合わせが、上述した「採用した組み合わせ」となる。
【0053】
一方、ステップS5にて、抽出したものと同じ組み合わせが存在すると判定された場合、その組み合わせが破棄され(ステップS8)、ステップS3の処理が再度行われる。
【0054】
また、ステップS3にて、採用した組み合わせ数が組み合わせの総数以下の数値ではないと判定された場合は、mの値がインクリメントされ(ステップS7)、ステップS2の処理が再度行われる。
【0055】
このように、同じ組み合わせは破棄し、これまでと異なる組み合わせは採用すると言うことを、組み合わせの総数になるまで繰り返すアルゴリズムを実装する。
【0056】
上述したように抽出されたカラムの組み合わせに基づいて、動的ファインダーメソッド名および動的ファインダーSQL文を作成する。
【0057】
図6は、図4に示したメソッド名生成部1022において、各カラム名をANDで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。
【0058】
図6に示すように、6011のロジックにより6012で表わされる各カラム名をANDで繋げたメソッド名が生成される。
【0059】
図7は、図4に示したメソッド名生成部1022において、各カラム名をORで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。
【0060】
図7に示すように、6021のロジックにより6022で表わされる各カラム名をORで繋げたメソッド名が生成される。
【0061】
図8は、図4に示したメソッド名生成部1022において、「各カラム名+[Like/Ge]」をANDで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。
【0062】
図8に示すように、6031のロジックにより6032で表わされる「各カラム名+[Like/Ge]」をANDで繋げたメソッド名が生成される。数値型には「Ge」が付け加えられ、その他には「Like」が付け加えられるようにしている。
【0063】
図9は、図4に示したメソッド名生成部1022において、「各カラム名+[Like/Ge]」をORで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。
【0064】
図9に示すように、6041のロジックにより6042で表わされる「各カラム名+[Like/Ge]」をORで繋げたメソッド名が生成される。数値型には「Ge」が付け加えられ、その他には「Like」が付け加えられるようにしている。
【0065】
図10は、図4に示したSQL文生成部1023において、各カラムをANDで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。
【0066】
図10に示すように、7011のロジックにより7012で表わされる各カラムをANDで繋げたSQLの条件文が生成される。
【0067】
図11は、図4に示したSQL文生成部1023において、各カラムをORで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。
【0068】
図11に示すように、7021のロジックにより7022で表わされる各カラムをORで繋げたSQLの条件文が生成される。
【0069】
図12は、図4に示したSQL文生成部1023において、「各カラム+[LIKE/>=]」をANDで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。
【0070】
図12に示すように、8011のロジックにより8012で表わされる「各カラム+[LIKE/>=]」をANDで繋げたSQLの条件文が生成される。数値型には「>=」が付け加えられ、その他には「LIKE」が付け加えられるようにしている。
【0071】
図13は、図4に示したSQL文生成部1023において、「各カラム+[LIKE/>=]」をORで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。
【0072】
図13に示すように、8021のロジックにより8022で表わされる「各カラム+[LIKE/>=]」をORで繋げたSQLの条件文が生成される。数値型には「>=」が付け加えられ、その他には「LIKE」が付け加えられるようにしている。
【0073】
以上のように動的ファインダーメソッド及び動的ファインダーSQL文が生成される。生成されたデータクラス及びデータアクセスクラス、SQL文定義ファイルは、iBATIS O/Rマッピング上で動作し、動的ファインダー機能を実現する。
【0074】
このため、これを利用するクラス側で、アクセスするテーブルの全カラムの組み合わせの条件(ANDで繋げた条件やORで繋げた条件)を使用することができるようになる。
【0075】
本発明は、JavaのO/Rマッピングのフレームワーク上で動作が可能である。例えば、S2DaoのO/Rマッピングに対しては、本発明が生成している動的ファインダーメソッド及び動的ファインダーSQL文が適合している。
【0076】
このように本発明は、O/Rマッピングの分野に関し、動的ファインダーに関するSQL文を実行するシステムに関するものである。
【0077】
以上説明したように本発明では、全カラムの組み合わせをANDで繋げた条件やORで繋げた条件を生成する。また、部分一致を考慮して[LIKE]や[>=]を利用して、ANDで繋げた条件やORで繋げた条件を生成する。これにより、各テーブルへの基本的なアクセスパターンがプログラム実装開始時点で利用できる。また、各テーブルの内容が変更された場合も、再生成を行なうことで、動的にその時のテーブル仕様に対応したファインダーメソッドが利用できる。そのため、データアクセスの開発工数を削減することができる。一般的にRuby on RailsはJavaよりも生産性が高いと言われているが、それはActiveRecordの動的ファインダー機能による所が大きい。本発明ではJavaでActiveRecordが備えている動的ファインダーと同等の機能を実現し、またその問題点を解決することで、Java の生産性を向上させる効果をもたらす。
【符号の説明】
【0078】
100 テーブル設計書
101 テーブル設計書読込装置
102 ソース生成制御装置
103 データクラス生成装置
104 データアクセスクラス生成装置
105 SQL文定義ファイル生成装置
106 データクラスファイル
107 データアクセスクラスファイル
108 SQL文定義ファイル
1021 抽出部
1022 メソッド名生成部
1023 SQL文生成部
1024 起動部

【特許請求の範囲】
【請求項1】
テーブル設計書読込装置と、ソース生成制御装置と、データクラス生成装置と、データアクセスクラス生成装置と、SQL文定義ファイル生成装置とから構成されたファイル生成システムにおいて、
前記テーブル設計書読込装置は、テーブルがあらかじめ定義されたテーブル設計書を読み込み、
前記ソース生成制御装置は、前記テーブル設計書のテーブルのカラムの組み合わせに基づいて、前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを制御し、
前記SQL文定義ファイル生成装置は、前記カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイルを生成し、
前記データクラス生成装置は、データアクセスクラス及び前記SQL文定義ファイルで使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイルを生成し、
前記データアクセスクラス生成装置は、前記カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、前記データクラスの値をSQL文に当てはめて、該SQL文を動作させるクラスである前記データアクセスクラスのファイルとなるデータアクセスクラスファイルを生成し、
前記SQL文定義ファイルと、前記データクラスファイルと、前記データアクセスクラスファイルとを、Javaの前記O/Rマッピング上で動作させることを特徴とするファイル生成システム。
【請求項2】
請求項1に記載のファイル生成システムにおいて、
前記テーブル設計書読込装置は、前記テーブル設計書からテーブル名とカラムの情報とを取得し、
前記ソース生成制御装置は、
前記テーブル設計書読込装置が取得した全てのカラムからカラムの組み合わせを抽出する抽出部と、
前記抽出部が抽出した組み合わせの各カラムのカラム名に基づいて、動的ファインダーメソッド名を生成するメソッド名生成部と、
前記抽出部が抽出した組み合わせの各カラムに基づいて、前記動的ファインダーSQL文を生成するSQL文生成部と、
前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを起動する起動部とを有することを特徴とするファイル生成システム。
【請求項3】
請求項2に記載のファイル生成システムにおいて、
前記メソッド名生成部は、前記抽出部が抽出した組み合わせの各カラムのカラム名をANDで繋げたメソッド名を前記動的ファインダーメソッド名として生成することを特徴とするファイル生成システム。
【請求項4】
請求項2に記載のファイル生成システムにおいて、
前記メソッド名生成部は、前記抽出部が抽出した組み合わせの各カラムのカラム名をORで繋げたメソッド名を前記動的ファインダーメソッド名として生成することを特徴とするファイル生成システム。
【請求項5】
請求項2に記載のファイル生成システムにおいて、
前記SQL文生成部は、前記抽出部が抽出した組み合わせの各カラムをANDで繋げたSQLの条件文を前記動的ファインダーSQL文として生成することを特徴とするファイル生成システム。
【請求項6】
請求項2に記載のファイル生成システムにおいて、
前記SQL文生成部は、前記抽出部が抽出した組み合わせの各カラムをORで繋げたSQLの条件文を前記動的ファインダーSQL文として生成することを特徴とするファイル生成システム。
【請求項7】
請求項2に記載のファイル生成システムにおいて、
前記抽出部は、前記テーブル設計書読込装置が取得した全てのカラムから組み合わせることができるカラムの組み合わせ全てを抽出することを特徴とするファイル生成システム。
【請求項8】
テーブル設計書読込装置と、ソース生成制御装置と、データクラス生成装置と、データアクセスクラス生成装置と、SQL文定義ファイル生成装置とから構成されたファイル生成システムにおけるファイル生成方法であって、
前記テーブル設計書読込装置が、テーブルがあらかじめ定義されたテーブル設計書を読み込む処理と、
前記ソース生成制御装置が、前記テーブル設計書のテーブルのカラムの組み合わせに基づいて、前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを制御する処理と、
前記SQL文定義ファイル生成装置が、前記カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイルを生成する処理と、
前記データクラス生成装置が、データアクセスクラス及び前記SQL文定義ファイルで使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイルを生成する処理と、
前記データアクセスクラス生成装置が、前記カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、前記データクラスの値をSQL文に当てはめて、該SQL文を動作させるクラスである前記データアクセスクラスのファイルとなるデータアクセスクラスファイルを生成する処理と、
前記SQL文定義ファイルと、前記データクラスファイルと、前記データアクセスクラスファイルとを、Javaの前記O/Rマッピング上で動作させる処理とを有するファイル生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−150632(P2011−150632A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−13048(P2010−13048)
【出願日】平成22年1月25日(2010.1.25)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】