JP5163662B2 - File generation system and file generation method - Google Patents

File generation system and file generation method Download PDF

Info

Publication number
JP5163662B2
JP5163662B2 JP2010013048A JP2010013048A JP5163662B2 JP 5163662 B2 JP5163662 B2 JP 5163662B2 JP 2010013048 A JP2010013048 A JP 2010013048A JP 2010013048 A JP2010013048 A JP 2010013048A JP 5163662 B2 JP5163662 B2 JP 5163662B2
Authority
JP
Japan
Prior art keywords
sql statement
file
class
generation
columns
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010013048A
Other languages
Japanese (ja)
Other versions
JP2011150632A (en
Inventor
誠一 鷹尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2010013048A priority Critical patent/JP5163662B2/en
Publication of JP2011150632A publication Critical patent/JP2011150632A/en
Application granted granted Critical
Publication of JP5163662B2 publication Critical patent/JP5163662B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ファイルを生成するファイル生成システムおよびファイル生成方法に関し、特にO/Rマッピング分野においてファイルを生成するファイル生成システムおよびファイル生成方法に関する。   The present invention relates to a file generation system and a file generation method for generating a file, and more particularly to a file generation system and a file generation method for generating a file in the field of O / R mapping.

iBATISのiBATORでは、基本的なCRUD(Create、Read、Update、Delete)のSQL(Structured Query Language)文を生成し、データアクセスクラスを通してそれを利用することができる機能が提供されている。この機能のReadでは、以下の機能が提供されている。
(1)主キーを条件としてSELECTする機能
(2)値がセットされているカラムをANDで繋げた文を条件としてSELECTする機能
(1)の機能は、たいていのO/Rマッピングで提供されている機能である。一方、(2)の機能は、iBATORの独自の機能である。
The iBATIS of iBATIS provides a function that generates a SQL (Structured Query Language) SQL of a basic CRUD (Create, Read, Update, Delete) and uses it through a data access class. This function Read provides the following functions.
(1) A function that performs a SELECT on the primary key as a condition (2) A function that performs a SELECT on a condition in which a column in which a value is set is connected with AND is a condition (1) It is a function. On the other hand, the function (2) is a unique function of iBATOR.

しかしながら、上述した(1)および(2)の機能においては、同じメソッド内で値がセットされているという前提で検索条件を構築するため、利用する側からは内部で使用される条件を推測しにくく、バグの原因を発生させてしまう。   However, in the functions (1) and (2) described above, since the search condition is constructed on the assumption that the value is set in the same method, the condition used internally is estimated from the user side. It is difficult to cause bugs.

また、プログラム言語の1つであるJava(登録商標)の後発として登場したRuby on Railsは、Javaよりも生産性が一般的に高いと言われている。その理由の1つとして挙げられるのが、Ruby on RailsがActive Recordの動的ファインダー機能を有するという点である。   Also, Ruby on Rails, which appeared as a latecomer of Java (registered trademark), one of the programming languages, is said to be generally more productive than Java. One reason for this is that Ruby on Rails has an Active Record dynamic finder function.

Ruby on Railsのような動的言語では「MethodMissingException」が発生した場合にある特定のメソッドを動作させ、その中でメソッド名を解析することができるメタプログラミングの機能がある。このメソッド名の解析機能により動的ファインダー機能を実現している。   In a dynamic language such as Ruby on Rails, there is a function of metaprogramming that allows a specific method to operate when “MethodMissingException” occurs and analyze the method name. This method name analysis function realizes the dynamic finder function.

Ruby on RailsのActive Recordでは、動的ファインダー機能が提供されているが、完全一致の検索のみにしか利用できない。さらに、ANDで繋げた条件文しか利用できない。   Ruby on Rails' Active Record provides a dynamic finder function, but can only be used to search for an exact match. Furthermore, only conditional statements connected by AND can be used.

一般的にJavaはRuby on Railsよりも動作速度が速いため、エンタープライズ向けに多く用いられている。そこで、Javaの生産性をRuby on Railsと同等にすることができれば、エンタープライズシステム開発の生産性を向上させることができるため、情報技術の発展に貢献することができる。   In general, Java has a higher operation speed than Ruby on Rails, and is therefore widely used for enterprises. Therefore, if the productivity of Java can be made equivalent to Ruby on Rails, the productivity of enterprise system development can be improved, which can contribute to the development of information technology.

また、RDBMS(リレーショナルデータベースマネイジメントシステム)から取得された項目定義情報を解析し、その解析結果と取得した領域パラメータとから所望のSQL定義文を作成する技術が考えられている(例えば、特許文献1参照。)。   Further, a technique for analyzing item definition information acquired from an RDBMS (relational database management system) and creating a desired SQL definition sentence from the analysis result and the acquired area parameter is considered (for example, Patent Document 1). reference.).

特開平11−259345号公報Japanese Patent Laid-Open No. 11-259345

しかしながら、Ruby on Railsは動的言語であるため、これを静的言語であるJavaには適用できないという問題点がある。   However, since Ruby on Rails is a dynamic language, there is a problem that it cannot be applied to Java, which is a static language.

Javaで動的ファインダー機能を実現するためには、メソッドやSQL文を自動生成し、また仕様変更に応じて動的に再生成しなければならないという問題点がある。   In order to realize the dynamic finder function in Java, there is a problem that methods and SQL statements must be automatically generated, and dynamically regenerated according to specification changes.

また、特許文献1に記載された技術は、データアクセスクラスおよびそれに関連するデータアクセスのSQL文を生成するものではない。   Further, the technique described in Patent Document 1 does not generate a data access class and a data access related SQL statement.

本発明の目的は、上述した課題を解決するファイル生成システムおよびファイル生成方法を提供することである。   An object of the present invention is to provide a file generation system and a file generation method that solve the above-described problems.

本発明のファイル生成システムは、
テーブル設計書読込装置と、ソース生成制御装置と、データクラス生成装置と、データアクセスクラス生成装置と、SQL文定義ファイル生成装置とから構成されたファイル生成システムにおいて、
前記テーブル設計書読込装置は、テーブルがあらかじめ定義されたテーブル設計書を読み込み、
前記ソース生成制御装置は、前記テーブル設計書のテーブルのカラムの組み合わせに基づいて、前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを制御し、
前記SQL文定義ファイル生成装置は、前記カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイルを生成し、
前記データクラス生成装置は、データアクセスクラス及び前記SQL文定義ファイルで使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイルを生成し、
前記データアクセスクラス生成装置は、前記カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、前記データクラスの値をSQL文に当てはめて、該SQL文を動作させるクラスである前記データアクセスクラスのファイルとなるデータアクセスクラスファイルを生成し、
前記SQL文定義ファイルと、前記データクラスファイルと、前記データアクセスクラスファイルとを、Javaの前記O/Rマッピング上で動作させることを特徴とする。
The file generation system of the present invention includes:
In a file generation system composed of a table design document reading device, a source generation control device, a data class generation device, a data access class generation device, and an SQL statement definition file generation device,
The table design document reading device reads a table design document in which a table is predefined,
The source generation control device controls the data class generation device, the data access class generation device, and the SQL statement definition file generation device based on a combination of columns of the table of the table design document;
The SQL statement definition file generation device generates an SQL statement definition file including a dynamic finder SQL statement generated based on the combination of the columns and an SQL statement of INSERT, UPDATE, and DELETE,
The data class generation device generates a data class file that is a data class file that is used in the data access class and the SQL statement definition file, and that is a class representing a correspondence with a table in O / R mapping.
The data access class generation device is a class that includes the dynamic finder method name generated based on the combination of the columns, applies the value of the data class to an SQL statement, and operates the SQL statement. Generate a data access class file to be a data access class file,
The SQL statement definition file, the data class file, and the data access class file are operated on the O / R mapping of Java.

また、本発明のファイル生成方法は、
テーブル設計書読込装置と、ソース生成制御装置と、データクラス生成装置と、データアクセスクラス生成装置と、SQL文定義ファイル生成装置とから構成されたファイル生成システムにおけるファイル生成方法であって、
前記テーブル設計書読込装置が、テーブルがあらかじめ定義されたテーブル設計書を読み込む処理と、
前記ソース生成制御装置が、前記テーブル設計書のテーブルのカラムの組み合わせに基づいて、前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを制御する処理と、
前記SQL文定義ファイル生成装置が、前記カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイルを生成する処理と、
前記データクラス生成装置が、データアクセスクラス及び前記SQL文定義ファイルで使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイルを生成する処理と、
前記データアクセスクラス生成装置が、前記カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、前記データクラスの値をSQL文に当てはめて、該SQL文を動作させるクラスである前記データアクセスクラスのファイルとなるデータアクセスクラスファイルを生成する処理と、
前記SQL文定義ファイルと、前記データクラスファイルと、前記データアクセスクラスファイルとを、Javaの前記O/Rマッピング上で動作させる処理とを有する。
Further, the file generation method of the present invention includes:
A file generation method in a file generation system comprising a table design document reading device, a source generation control device, a data class generation device, a data access class generation device, and an SQL statement definition file generation device,
The table design document reading device reads a table design document in which a table is defined in advance;
The source generation control device controls the data class generation device, the data access class generation device, and the SQL statement definition file generation device based on a combination of columns in the table of the table design document;
A process in which the SQL statement definition file generating device generates an SQL statement definition file including a dynamic finder SQL statement generated based on the combination of the columns and an INSERT, UPDATE, and DELETE SQL statement;
The data class generation device generates a data class file that is a data class file that is a class representing a correspondence with a table in the O / R mapping used in the data access class and the SQL statement definition file;
The data access class generation device is a class that includes the dynamic finder method name generated based on the combination of the columns, applies the value of the data class to an SQL statement, and operates the SQL statement Processing to generate a data access class file to be a data access class file;
And processing for operating the SQL statement definition file, the data class file, and the data access class file on the O / R mapping of Java.

以上説明したように、本発明においては、O/Rマッピング分野においてJavaの生産性を向上させることができる。   As described above, in the present invention, Java productivity can be improved in the field of O / R mapping.

本発明のファイル生成システムの実施の一形態を示す図である。It is a figure which shows one Embodiment of the file generation system of this invention. 図1に示したテーブル設計書の一例を示す図である。It is a figure which shows an example of the table design document shown in FIG. 図1に示したテーブル設計書読込装置が格納した各カラムの情報の一例である。It is an example of the information of each column which the table design document reading apparatus shown in FIG. 1 stored. 図1に示したソース生成制御装置の内部構成の一例を示す図である。It is a figure which shows an example of an internal structure of the source production | generation control apparatus shown in FIG. 本形態におけるファイル生成方法のうち、図4に示した抽出部における処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process in the extraction part shown in FIG. 4 among the file production | generation methods in this form. 図4に示したメソッド名生成部において、各カラム名をANDで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that generates, as a dynamic finder method name, a method name in which column names are connected by AND in the method name generation unit illustrated in FIG. 4. 図4に示したメソッド名生成部において、各カラム名をORで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that generates, as a dynamic finder method name, a method name in which column names are connected by OR in the method name generation unit illustrated in FIG. 4. 図4に示したメソッド名生成部において、「各カラム名+[Like/Ge]」をANDで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that generates, as a dynamic finder method name, a method name in which “each column name + [Like / Ge]” is connected by AND in the method name generation unit illustrated in FIG. 4. 図4に示したメソッド名生成部において、「各カラム名+[Like/Ge]」をORで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that generates, as a dynamic finder method name, a method name in which “each column name + [Like / Ge]” is connected by OR in the method name generation unit illustrated in FIG. 4. 図4に示したSQL文生成部において、各カラムをANDで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that generates, as a dynamic finder SQL statement, a SQL conditional statement in which each column is connected by AND in the SQL statement generation unit illustrated in FIG. 4. 図4に示したSQL文生成部において、各カラムをORで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that generates, as a dynamic finder SQL statement, a SQL conditional statement in which the columns are connected by OR in the SQL statement generation unit illustrated in FIG. 4. 図4に示したSQL文生成部において、「各カラム+[LIKE/>=]」をANDで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that generates, as a dynamic finder SQL statement, a SQL conditional statement in which “each column + [LIKE /> =]” is connected by AND in the SQL statement generation unit illustrated in FIG. 4. 図4に示したSQL文生成部において、「各カラム+[LIKE/>=]」をORで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that generates, as a dynamic finder SQL statement, a SQL conditional statement in which “each column + [LIKE /> =]” is connected by OR in the SQL statement generation unit illustrated in FIG. 4.

以下に、本発明の実施の形態について図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明のファイル生成システムの実施の一形態を示す図である。   FIG. 1 is a diagram showing an embodiment of a file generation system of the present invention.

本形態は図1に示すように、テーブル設計書読込装置101と、ソース生成制御装置102と、データクラス生成装置103と、データアクセスクラス生成装置104と、SQL文定義ファイル生成装置105とから構成されている。   As shown in FIG. 1, this embodiment includes a table design document reading device 101, a source generation control device 102, a data class generation device 103, a data access class generation device 104, and an SQL statement definition file generation device 105. Has been.

テーブル設計書読込装置101は、テーブルがあらかじめ定義された設計書であるテーブル設計書100を読み込む。   The table design document reading device 101 reads a table design document 100 which is a design document in which a table is defined in advance.

図2は、図1に示したテーブル設計書100の一例を示す図である。   FIG. 2 is a diagram showing an example of the table design document 100 shown in FIG.

図1に示したテーブル設計書100は図2に示すように、テーブル名「T_TEST」、論理名、物理名、型、長さ、精度、必須、主キーおよび定義内容が項番(No)ごとにそれぞれ対応付けられたものとなっている。   As shown in FIG. 2, the table design document 100 shown in FIG. 1 includes a table name “T_TEST”, a logical name, a physical name, a type, a length, a precision, a mandatory, a primary key, and a definition content for each item number (No). Are associated with each.

論理名は、「ユーザID」、「ユーザ名」や「電話番号(自宅)」等である。   The logical name is “user ID”, “user name”, “telephone number (home)”, or the like.

また、物理名は、論理名それぞれに対応した「USER_ID」、「USER_NAME」や「TEL_JITAKU」等である。   The physical name is “USER_ID”, “USER_NAME”, “TEL_JITAKU”, or the like corresponding to each logical name.

また、型は、論理名および物理名に対応した「NUMBER」、「VARCHAR2」や「CHAR」等である。   The type is “NUMBER”, “VARCHAR2”, “CHAR” or the like corresponding to the logical name and the physical name.

また、長さ、精度、必須、主キーおよび定義内容についても、あらかじめ設定されている。   The length, accuracy, essentiality, primary key, and definition contents are also set in advance.

また、テーブル設計書読込装置101は、読み込んだテーブル設計書100からテーブル名と各カラムの情報を取得する。また、テーブル設計書読込装置101は、取得した各カラムの情報をテーブル名と対応付けて格納(記憶)する。   Further, the table design document reading device 101 acquires the table name and information on each column from the read table design document 100. Further, the table design document reading device 101 stores (stores) the acquired information on each column in association with the table name.

図3は、図1に示したテーブル設計書読込装置101が格納した各カラムの情報の一例である。   FIG. 3 is an example of information on each column stored by the table design document reading apparatus 101 shown in FIG.

図1に示したテーブル設計書読込装置101が格納した各カラムの情報は図3に示すように、変数名と、型と、その説明とが対応付けられて「EntityMappingRow」として格納されている。この「説明」の部分が、設計書の各項目に相当する。これは、EntityMappingRowを基礎としてList<EntityMappingRow>に格納される。   As shown in FIG. 3, the information of each column stored in the table design document reading apparatus 101 shown in FIG. 1 is stored as “Entity Mapping Row” in which variable names, types, and descriptions thereof are associated with each other. This “explanation” corresponds to each item of the design document. This is stored in List <EntityMappingRow> based on EntityMappingRow.

ソース生成制御装置102は、テーブル設計書100のテーブルのカラムの組み合わせに基づいて、データクラス生成装置103と、データアクセスクラス生成装置104と、SQL文定義ファイル生成装置105とを制御する。   The source generation control device 102 controls the data class generation device 103, the data access class generation device 104, and the SQL statement definition file generation device 105 based on the combination of the table columns in the table design document 100.

図4は、図1に示したソース生成制御装置102の内部構成の一例を示す図である。   FIG. 4 is a diagram illustrating an example of an internal configuration of the source generation control apparatus 102 illustrated in FIG.

図1に示したソース生成制御装置102には図4に示すように、抽出部1021と、メソッド名生成部1022と、SQL文生成部1023と、起動部1024とが設けられている。   As shown in FIG. 4, the source generation control apparatus 102 shown in FIG. 1 includes an extraction unit 1021, a method name generation unit 1022, an SQL sentence generation unit 1023, and an activation unit 1024.

抽出部1021は、テーブル設計書読込装置101が取得した全てのカラムからカラムの組み合わせを抽出する。また、抽出部1021は、テーブル設計書読込装置101が取得した全てのカラムから組み合わせることができるカラムの組み合わせ全てを抽出する。   The extraction unit 1021 extracts a combination of columns from all the columns acquired by the table design document reading apparatus 101. The extraction unit 1021 extracts all combinations of columns that can be combined from all the columns acquired by the table design document reading apparatus 101.

メソッド名生成部1022は、抽出部1021が抽出した組み合わせの各カラムのカラム名に基づいて、動的ファインダーメソッド名を生成する。また、メソッド名生成部1022は、抽出部1021が抽出した組み合わせの各カラムのカラム名を論理積であるANDで繋げたメソッド名を動的ファインダーメソッド名として生成する。または、メソッド名生成部1022は、抽出部1021が抽出した組み合わせの各カラムのカラム名を論理和であるORで繋げたメソッド名を動的ファインダーメソッド名として生成する。   The method name generation unit 1022 generates a dynamic finder method name based on the column name of each column of the combination extracted by the extraction unit 1021. In addition, the method name generation unit 1022 generates a method name obtained by connecting the column names of each column of the combination extracted by the extraction unit 1021 by AND that is a logical product as a dynamic finder method name. Alternatively, the method name generation unit 1022 generates, as a dynamic finder method name, a method name obtained by connecting the column names of the columns of the combination extracted by the extraction unit 1021 with OR that is a logical sum.

SQL文生成部1023は、抽出部1021が抽出した組み合わせの各カラムに基づいて、動的ファインダーSQL文を生成する。また、SQL文生成部1023は、抽出部1021が抽出した組み合わせの各カラムを論理積であるANDで繋げたSQLの条件文を動的ファインダーSQL文として生成する。または、SQL文生成部1023は、抽出部1021が抽出した組み合わせの各カラムを論理和であるORで繋げたSQLの条件文を動的ファインダーSQL文として生成する。   The SQL statement generation unit 1023 generates a dynamic finder SQL statement based on each combination column extracted by the extraction unit 1021. In addition, the SQL statement generation unit 1023 generates a SQL conditional statement in which each column of the combination extracted by the extraction unit 1021 is connected by AND, which is a logical product, as a dynamic finder SQL statement. Alternatively, the SQL statement generation unit 1023 generates a SQL conditional statement in which each column of the combination extracted by the extraction unit 1021 is connected by OR that is a logical sum as a dynamic finder SQL statement.

起動部1024は、データクラス生成装置103と、データアクセスクラス生成装置104と、SQL文定義ファイル生成装置105とを起動する。   The activation unit 1024 activates the data class generation device 103, the data access class generation device 104, and the SQL statement definition file generation device 105.

SQL文定義ファイル生成装置105は、カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイル108を生成する。   The SQL statement definition file generating apparatus 105 generates an SQL statement definition file 108 including a dynamic finder SQL statement generated based on a combination of columns and an INSERT, UPDATE, and DELETE SQL statement.

データクラス生成装置103は、データアクセスクラス及びSQL文定義ファイル108で使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイル106を生成する。   The data class generation device 103 generates a data class file 106 that is a data class file that is used in the data access class and SQL statement definition file 108 and represents a correspondence with a table in O / R mapping.

データアクセスクラス生成装置104は、カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、データクラスの値をSQL文に当てはめて、SQL文を動作させるクラスであるデータアクセスクラスのファイルとなるデータアクセスクラスファイル107を生成する。   The data access class generation device 104 applies the value of the data class including the dynamic finder method name generated based on the combination of columns to the SQL statement, and the data access class of the data access class that operates the SQL statement. A data access class file 107 to be a file is generated.

また、図1に示した形態で生成されたSQL文定義ファイル108と、データクラスファイル106と、データアクセスクラスファイル107とを、JavaのO/Rマッピング上で動作させる。   Further, the SQL statement definition file 108, the data class file 106, and the data access class file 107 generated in the form shown in FIG. 1 are operated on the O / R mapping of Java.

以下に、本形態におけるファイル生成方法のうち、図4に示した抽出部1021における処理について説明する。   Below, the process in the extraction part 1021 shown in FIG. 4 among the file generation methods in this form is demonstrated.

図5は、本形態におけるファイル生成方法のうち、図4に示した抽出部1021における処理を説明するためのフローチャートである。   FIG. 5 is a flowchart for explaining processing in the extraction unit 1021 shown in FIG. 4 in the file generation method according to this embodiment.

まず、全カラム数である変数nと、その中から抽出するカラム数である変数mとが初期化される(ステップS1)。mの値の取り得る範囲は、(1≦m≦全カラム数)であり、ステップS1では「1」に初期化される。   First, a variable n that is the total number of columns and a variable m that is the number of columns to be extracted from the number are initialized (step S1). The possible range of the value of m is (1 ≦ m ≦ total number of columns), and is initialized to “1” in step S1.

その後、抽出部1021にて、異なるn個のものから異なるm個のものが抽出される。   Thereafter, the extraction unit 1021 extracts different m items from different n items.

抽出後、mが全カラム数以下であるかどうかが判定される(ステップS2)。   After extraction, it is determined whether m is equal to or less than the total number of columns (step S2).

mが全カラム数以下ではないと判定された場合、処理は終了する。   If it is determined that m is not less than the total number of columns, the process ends.

一方、mが全カラム数以下であると判定された場合、採用した組み合わせ数が組み合わせの総数以下の数値であるかどうかが判定される(ステップS3)。この「採用した組み合わせ」については、後述する。   On the other hand, when it is determined that m is equal to or less than the total number of columns, it is determined whether or not the number of combinations employed is a value equal to or less than the total number of combinations (step S3). This “adopted combination” will be described later.

ここで、異なるn個のものから異なるm個のものを抽出する組み合わせの総数は、組み合わせの総数の計算式で表わされる。組み合わせの総数は、上述のように機械的に求められるが、具体的な組み合わせは機械的に求めることができない。   Here, the total number of combinations for extracting different m items from different n items is expressed by a calculation formula for the total number of combinations. Although the total number of combinations is mechanically determined as described above, a specific combination cannot be mechanically determined.

そこで、採用した組み合わせ数が組み合わせの総数以下の数値であると判定された場合、異なるn個のものから異なるm個がランダムに抽出される(ステップS4)。この組み合わせは、組み合わせの総数とは違い、計算式により求めることができないため、ランダムに抽出される。   Therefore, when it is determined that the number of combinations adopted is a numerical value equal to or less than the total number of combinations, m different ones are randomly extracted from n different ones (step S4). Unlike the total number of combinations, this combination cannot be obtained by a calculation formula and is therefore extracted at random.

すると、抽出したものと同じ組み合わせがすでに存在するかどうかが判定される(ステップS5)。   Then, it is determined whether or not the same combination as the extracted one already exists (step S5).

ステップS5にて、抽出したものと同じ組み合わせが存在しないと判定された場合、その組み合わせが採用される(ステップS6)。そして、ステップS3の処理が再度行われる。この採用された組み合わせが、上述した「採用した組み合わせ」となる。   If it is determined in step S5 that the same combination as the extracted one does not exist, that combination is adopted (step S6). Then, the process of step S3 is performed again. This adopted combination is the “adopted combination” described above.

一方、ステップS5にて、抽出したものと同じ組み合わせが存在すると判定された場合、その組み合わせが破棄され(ステップS8)、ステップS3の処理が再度行われる。   On the other hand, when it is determined in step S5 that the same combination as the extracted one exists, the combination is discarded (step S8), and the process of step S3 is performed again.

また、ステップS3にて、採用した組み合わせ数が組み合わせの総数以下の数値ではないと判定された場合は、mの値がインクリメントされ(ステップS7)、ステップS2の処理が再度行われる。   If it is determined in step S3 that the number of combinations adopted is not a numerical value equal to or less than the total number of combinations, the value of m is incremented (step S7), and the process of step S2 is performed again.

このように、同じ組み合わせは破棄し、これまでと異なる組み合わせは採用すると言うことを、組み合わせの総数になるまで繰り返すアルゴリズムを実装する。   In this way, an algorithm is implemented that discards the same combination and adopts a different combination until the total number of combinations is reached.

上述したように抽出されたカラムの組み合わせに基づいて、動的ファインダーメソッド名および動的ファインダーSQL文を作成する。   Based on the combination of columns extracted as described above, a dynamic finder method name and a dynamic finder SQL statement are created.

図6は、図4に示したメソッド名生成部1022において、各カラム名をANDで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。   FIG. 6 is a diagram illustrating an example of a program that generates, as the dynamic finder method name, a method name in which the column names are connected by AND in the method name generation unit 1022 illustrated in FIG.

図6に示すように、6011のロジックにより6012で表わされる各カラム名をANDで繋げたメソッド名が生成される。   As shown in FIG. 6, a method name in which each column name represented by 6012 is connected by AND by the logic 6011 is generated.

図7は、図4に示したメソッド名生成部1022において、各カラム名をORで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。   FIG. 7 is a diagram illustrating an example of a program for generating, as the dynamic finder method name, a method name in which the column names are connected by OR in the method name generation unit 1022 illustrated in FIG.

図7に示すように、6021のロジックにより6022で表わされる各カラム名をORで繋げたメソッド名が生成される。   As shown in FIG. 7, a method name in which the column names represented by 6022 are connected by OR by the logic 6021 is generated.

図8は、図4に示したメソッド名生成部1022において、「各カラム名+[Like/Ge]」をANDで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。   FIG. 8 is a diagram illustrating an example of a program that generates, as the dynamic finder method name, a method name in which “each column name + [Like / Ge]” is connected by AND in the method name generation unit 1022 illustrated in FIG. is there.

図8に示すように、6031のロジックにより6032で表わされる「各カラム名+[Like/Ge]」をANDで繋げたメソッド名が生成される。数値型には「Ge」が付け加えられ、その他には「Like」が付け加えられるようにしている。   As illustrated in FIG. 8, a method name in which “each column name + [Like / Ge]” represented by 6032 is connected by AND is generated by the logic of 6031. “Ge” is added to the numerical type, and “Like” is added to the others.

図9は、図4に示したメソッド名生成部1022において、「各カラム名+[Like/Ge]」をORで繋げたメソッド名を動的ファインダーメソッド名として生成するプログラムの一例を示す図である。   FIG. 9 is a diagram illustrating an example of a program that generates, as the dynamic finder method name, a method name in which “each column name + [Like / Ge]” is connected by OR in the method name generation unit 1022 illustrated in FIG. is there.

図9に示すように、6041のロジックにより6042で表わされる「各カラム名+[Like/Ge]」をORで繋げたメソッド名が生成される。数値型には「Ge」が付け加えられ、その他には「Like」が付け加えられるようにしている。   As shown in FIG. 9, a method name in which “each column name + [Like / Ge]” represented by 6042 is connected by OR by the logic of 6041 is generated. “Ge” is added to the numerical type, and “Like” is added to the others.

図10は、図4に示したSQL文生成部1023において、各カラムをANDで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。   FIG. 10 is a diagram illustrating an example of a program that generates, as the dynamic finder SQL statement, a SQL conditional statement in which the columns are connected by AND in the SQL statement generation unit 1023 illustrated in FIG. 4.

図10に示すように、7011のロジックにより7012で表わされる各カラムをANDで繋げたSQLの条件文が生成される。   As shown in FIG. 10, an SQL conditional statement in which the columns 7012 are connected by AND is generated by the logic 7011.

図11は、図4に示したSQL文生成部1023において、各カラムをORで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。   FIG. 11 is a diagram illustrating an example of a program that generates, as the dynamic finder SQL statement, a SQL conditional statement in which the columns are connected by OR in the SQL statement generation unit 1023 illustrated in FIG. 4.

図11に示すように、7021のロジックにより7022で表わされる各カラムをORで繋げたSQLの条件文が生成される。   As shown in FIG. 11, an SQL conditional statement in which the columns 7022 are connected by OR is generated by the logic 7021.

図12は、図4に示したSQL文生成部1023において、「各カラム+[LIKE/>=]」をANDで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。   FIG. 12 shows an example of a program for generating, as a dynamic finder SQL statement, a SQL conditional statement in which “each column + [LIKE /> =]” is connected by AND in the SQL statement generating unit 1023 shown in FIG. FIG.

図12に示すように、8011のロジックにより8012で表わされる「各カラム+[LIKE/>=]」をANDで繋げたSQLの条件文が生成される。数値型には「>=」が付け加えられ、その他には「LIKE」が付け加えられるようにしている。   As shown in FIG. 12, an SQL conditional statement in which “each column + [LIKE /> =]” represented by 8012 is connected by AND is generated by the logic of 8011. “> =” Is added to the numeric type, and “LIKE” is added to the others.

図13は、図4に示したSQL文生成部1023において、「各カラム+[LIKE/>=]」をORで繋げたSQLの条件文を動的ファインダーSQL文として生成するプログラムの一例を示す図である。   FIG. 13 shows an example of a program for generating, as a dynamic finder SQL sentence, a SQL conditional sentence in which “each column + [LIKE /> =]” is connected by OR in the SQL sentence generating unit 1023 shown in FIG. FIG.

図13に示すように、8021のロジックにより8022で表わされる「各カラム+[LIKE/>=]」をORで繋げたSQLの条件文が生成される。数値型には「>=」が付け加えられ、その他には「LIKE」が付け加えられるようにしている。   As shown in FIG. 13, an SQL conditional statement in which “each column + [LIKE /> =]” represented by 8022 is connected by OR by the logic of 8021 is generated. “> =” Is added to the numeric type, and “LIKE” is added to the others.

以上のように動的ファインダーメソッド及び動的ファインダーSQL文が生成される。生成されたデータクラス及びデータアクセスクラス、SQL文定義ファイルは、iBATIS O/Rマッピング上で動作し、動的ファインダー機能を実現する。   As described above, the dynamic finder method and the dynamic finder SQL statement are generated. The generated data class, data access class, and SQL statement definition file operate on the iBATIS O / R mapping to realize a dynamic finder function.

このため、これを利用するクラス側で、アクセスするテーブルの全カラムの組み合わせの条件(ANDで繋げた条件やORで繋げた条件)を使用することができるようになる。   For this reason, on the class side using this, it is possible to use a combination condition (a condition connected by AND or a condition connected by OR) of all the columns of the table to be accessed.

本発明は、JavaのO/Rマッピングのフレームワーク上で動作が可能である。例えば、S2DaoのO/Rマッピングに対しては、本発明が生成している動的ファインダーメソッド及び動的ファインダーSQL文が適合している。   The present invention can operate on the Java O / R mapping framework. For example, the dynamic finder method and the dynamic finder SQL statement generated by the present invention are suitable for S2Dao O / R mapping.

このように本発明は、O/Rマッピングの分野に関し、動的ファインダーに関するSQL文を実行するシステムに関するものである。   As described above, the present invention relates to the field of O / R mapping, and relates to a system for executing an SQL statement related to a dynamic finder.

以上説明したように本発明では、全カラムの組み合わせをANDで繋げた条件やORで繋げた条件を生成する。また、部分一致を考慮して[LIKE]や[>=]を利用して、ANDで繋げた条件やORで繋げた条件を生成する。これにより、各テーブルへの基本的なアクセスパターンがプログラム実装開始時点で利用できる。また、各テーブルの内容が変更された場合も、再生成を行なうことで、動的にその時のテーブル仕様に対応したファインダーメソッドが利用できる。そのため、データアクセスの開発工数を削減することができる。一般的にRuby on RailsはJavaよりも生産性が高いと言われているが、それはActiveRecordの動的ファインダー機能による所が大きい。本発明ではJavaでActiveRecordが備えている動的ファインダーと同等の機能を実現し、またその問題点を解決することで、Java の生産性を向上させる効果をもたらす。   As described above, in the present invention, a condition in which combinations of all columns are connected by AND or a condition in which OR is connected is generated. In addition, in consideration of partial matching, [LIKE] and [> =] are used to generate conditions connected by AND and conditions connected by OR. Thereby, a basic access pattern to each table can be used at the start of program implementation. Also, when the contents of each table are changed, the viewfinder method corresponding to the table specification at that time can be used dynamically by performing regeneration. Therefore, it is possible to reduce the development man-hour for data access. Ruby on Rails is generally said to be more productive than Java, but this is largely due to the dynamic finder function of ActiveRecord. In the present invention, the same function as the dynamic finder provided by ActiveRecord in Java is realized, and the problem is solved, thereby bringing about the effect of improving Java productivity.

100 テーブル設計書
101 テーブル設計書読込装置
102 ソース生成制御装置
103 データクラス生成装置
104 データアクセスクラス生成装置
105 SQL文定義ファイル生成装置
106 データクラスファイル
107 データアクセスクラスファイル
108 SQL文定義ファイル
1021 抽出部
1022 メソッド名生成部
1023 SQL文生成部
1024 起動部
DESCRIPTION OF SYMBOLS 100 Table design document 101 Table design document reading apparatus 102 Source generation control apparatus 103 Data class generation apparatus 104 Data access class generation apparatus 105 SQL sentence definition file generation apparatus 106 Data class file 107 Data access class file 108 SQL sentence definition file 1021 Extraction part 1022 Method name generation unit 1023 SQL statement generation unit 1024 activation unit

Claims (8)

テーブル設計書読込装置と、ソース生成制御装置と、データクラス生成装置と、データアクセスクラス生成装置と、SQL文定義ファイル生成装置とから構成されたファイル生成システムにおいて、
前記テーブル設計書読込装置は、テーブルがあらかじめ定義されたテーブル設計書を読み込み、
前記ソース生成制御装置は、前記テーブル設計書のテーブルのカラムの組み合わせに基づいて、前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを制御し、
前記SQL文定義ファイル生成装置は、前記カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイルを生成し、
前記データクラス生成装置は、データアクセスクラス及び前記SQL文定義ファイルで使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイルを生成し、
前記データアクセスクラス生成装置は、前記カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、前記データクラスの値をSQL文に当てはめて、該SQL文を動作させるクラスである前記データアクセスクラスのファイルとなるデータアクセスクラスファイルを生成することを特徴とするファイル生成システム。
In a file generation system composed of a table design document reading device, a source generation control device, a data class generation device, a data access class generation device, and an SQL statement definition file generation device,
The table design document reading device reads a table design document in which a table is predefined,
The source generation control device controls the data class generation device, the data access class generation device, and the SQL statement definition file generation device based on a combination of columns of the table of the table design document;
The SQL statement definition file generation device generates an SQL statement definition file including a dynamic finder SQL statement generated based on the combination of the columns and an SQL statement of INSERT, UPDATE, and DELETE,
The data class generation device generates a data class file that is a data class file that is used in the data access class and the SQL statement definition file, and is a class representing a correspondence with a table in O / R mapping
The data access class generation device is a class that includes the dynamic finder method name generated based on the combination of the columns, applies the value of the data class to an SQL statement, and operates the SQL statement. A file generation system for generating a data access class file to be a data access class file.
請求項1に記載のファイル生成システムにおいて、
前記テーブル設計書読込装置は、前記テーブル設計書からテーブル名とカラムの情報とを取得し、
前記ソース生成制御装置は、
前記テーブル設計書読込装置が取得した全てのカラムからカラムの組み合わせを抽出する抽出部と、
前記抽出部が抽出した組み合わせの各カラムのカラム名に基づいて、動的ファインダーメソッド名を生成するメソッド名生成部と、
前記抽出部が抽出した組み合わせの各カラムに基づいて、前記動的ファインダーSQL文を生成するSQL文生成部と、
前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを起動する起動部とを有することを特徴とするファイル生成システム。
The file generation system according to claim 1,
The table design document reading device acquires a table name and column information from the table design document,
The source generation control device includes:
An extraction unit for extracting a combination of columns from all the columns acquired by the table design document reading device;
A method name generation unit that generates a dynamic finder method name based on the column name of each column of the combination extracted by the extraction unit;
An SQL statement generation unit that generates the dynamic finder SQL statement based on each column of the combination extracted by the extraction unit;
A file generation system comprising: an activation unit that activates the data class generation device, the data access class generation device, and the SQL statement definition file generation device.
請求項2に記載のファイル生成システムにおいて、
前記メソッド名生成部は、前記抽出部が抽出した組み合わせの各カラムのカラム名をANDで繋げたメソッド名を前記動的ファインダーメソッド名として生成することを特徴とするファイル生成システム。
The file generation system according to claim 2,
The file generation system, wherein the method name generation unit generates, as the dynamic finder method name, a method name obtained by connecting column names of combinations of columns extracted by the extraction unit by AND.
請求項2に記載のファイル生成システムにおいて、
前記メソッド名生成部は、前記抽出部が抽出した組み合わせの各カラムのカラム名をORで繋げたメソッド名を前記動的ファインダーメソッド名として生成することを特徴とするファイル生成システム。
The file generation system according to claim 2,
The file generation system, wherein the method name generation unit generates, as the dynamic finder method name, a method name obtained by connecting the column names of the combinations of columns extracted by the extraction unit with OR.
請求項2に記載のファイル生成システムにおいて、
前記SQL文生成部は、前記抽出部が抽出した組み合わせの各カラムをANDで繋げたSQLの条件文を前記動的ファインダーSQL文として生成することを特徴とするファイル生成システム。
The file generation system according to claim 2,
The SQL statement generation unit generates an SQL conditional statement in which the combination columns extracted by the extraction unit are connected by AND as the dynamic finder SQL statement.
請求項2に記載のファイル生成システムにおいて、
前記SQL文生成部は、前記抽出部が抽出した組み合わせの各カラムをORで繋げたSQLの条件文を前記動的ファインダーSQL文として生成することを特徴とするファイル生成システム。
The file generation system according to claim 2,
The SQL statement generation unit generates, as the dynamic finder SQL statement, an SQL conditional statement in which each column of the combination extracted by the extraction unit is connected by OR.
請求項2に記載のファイル生成システムにおいて、
前記抽出部は、前記テーブル設計書読込装置が取得した全てのカラムから組み合わせることができるカラムの組み合わせ全てを抽出することを特徴とするファイル生成システム。
The file generation system according to claim 2,
The extraction unit extracts all combinations of columns that can be combined from all columns acquired by the table design document reading device.
テーブル設計書読込装置と、ソース生成制御装置と、データクラス生成装置と、データアクセスクラス生成装置と、SQL文定義ファイル生成装置とから構成されたファイル生成システムにおけるファイル生成方法であって、
前記テーブル設計書読込装置が、テーブルがあらかじめ定義されたテーブル設計書を読み込む処理と、
前記ソース生成制御装置が、前記テーブル設計書のテーブルのカラムの組み合わせに基づいて、前記データクラス生成装置と、前記データアクセスクラス生成装置と、前記SQL文定義ファイル生成装置とを制御する処理と、
前記SQL文定義ファイル生成装置が、前記カラムの組み合わせに基づいて生成された動的ファインダーSQL文と、INSERT、UPDATEおよびDELETEのSQL文とが含まれたSQL文定義ファイルを生成する処理と、
前記データクラス生成装置が、データアクセスクラス及び前記SQL文定義ファイルで使用される、O/Rマッピングにおけるテーブルとの対応を表すクラスであるデータクラスのファイルとなるデータクラスファイルを生成する処理と、
前記データアクセスクラス生成装置が、前記カラムの組み合わせに基づいて生成された動的ファインダーメソッド名が含まれた、前記データクラスの値をSQL文に当てはめて、該SQL文を動作させるクラスである前記データアクセスクラスのファイルとなるデータアクセスクラスファイルを生成する処理とを有するファイル生成方法。
A file generation method in a file generation system comprising a table design document reading device, a source generation control device, a data class generation device, a data access class generation device, and an SQL statement definition file generation device,
The table design document reading device reads a table design document in which a table is defined in advance;
The source generation control device controls the data class generation device, the data access class generation device, and the SQL statement definition file generation device based on a combination of columns in the table of the table design document;
A process in which the SQL statement definition file generating device generates an SQL statement definition file including a dynamic finder SQL statement generated based on the combination of the columns and an INSERT, UPDATE, and DELETE SQL statement;
The data class generation device generates a data class file that is a data class file that is a class representing a correspondence with a table in the O / R mapping used in the data access class and the SQL statement definition file;
The data access class generation device is a class that includes the dynamic finder method name generated based on the combination of the columns, applies the value of the data class to an SQL statement, and operates the SQL statement A file generation method comprising : generating a data access class file to be a data access class file.
JP2010013048A 2010-01-25 2010-01-25 File generation system and file generation method Expired - Fee Related JP5163662B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010013048A JP5163662B2 (en) 2010-01-25 2010-01-25 File generation system and file generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010013048A JP5163662B2 (en) 2010-01-25 2010-01-25 File generation system and file generation method

Publications (2)

Publication Number Publication Date
JP2011150632A JP2011150632A (en) 2011-08-04
JP5163662B2 true JP5163662B2 (en) 2013-03-13

Family

ID=44537530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010013048A Expired - Fee Related JP5163662B2 (en) 2010-01-25 2010-01-25 File generation system and file generation method

Country Status (1)

Country Link
JP (1) JP5163662B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001518670A (en) * 1997-09-26 2001-10-16 オントス,インコーポレイテッド Objective model mapping and runtime engine for using a relational database with object-oriented software
JP3892825B2 (en) * 2003-05-23 2007-03-14 株式会社東芝 Database search support system and database search support method
JP2006268125A (en) * 2005-03-22 2006-10-05 Fuji Electric Systems Co Ltd Application server and its program

Also Published As

Publication number Publication date
JP2011150632A (en) 2011-08-04

Similar Documents

Publication Publication Date Title
Dumas et al. Fast detection of exact clones in business process model repositories
Wylot et al. Tripleprov: Efficient processing of lineage queries in a native rdf store
CN112560100B (en) Data desensitizing method and device, computer readable storage medium and electronic equipment
US20070168380A1 (en) System and method for storing text annotations with associated type information in a structured data store
US20130054650A1 (en) Automatic detection of columns to be obfuscated in database schemas
US8667010B2 (en) Database table partitioning allowing overlaps used in full text query
CN108984155A (en) Flow chart of data processing setting method and device
US20100293161A1 (en) Automatically avoiding unconstrained cartesian product joins
CN109710220B (en) Relational database query method, relational database query device, relational database query equipment and storage medium
Wylot et al. Storing, tracking, and querying provenance in linked data
WO2021253641A1 (en) Shading language translation method
CN104933162B (en) A kind of conversion method of CSV data from metadata mark to RDF data
US20090187552A1 (en) System and Methods for Generating Data Analysis Queries from Modeling Constructs
US9424310B2 (en) System and method for executing queries
US10055450B1 (en) Efficient management of temporal knowledge
CN112948419A (en) Query statement processing method and device
CN110309118A (en) A kind of design method of depth network data excavation robot
US20230153455A1 (en) Query-based database redaction
JP5488792B2 (en) Database operation device, database operation method, and program
JP5163662B2 (en) File generation system and file generation method
JP6287506B2 (en) Database access control program, database access control method, and information processing apparatus
CN107622070A (en) A kind of data base management method and device
Del Gratta et al. The LRE Map disclosed.
Unbehauen et al. SPARQL update queries over R2RML mapped data sources
CN113312373A (en) Method and equipment for analyzing data structured query statement

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5163662

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees