Dependent object class and subclass mapping to relational data store
First Claim
1. A computer-implemented method for mapping a dependent between object-oriented schema and relational data store schema, said dependent having a dependent class and a plurality of dependent subclasses, said dependent classes and dependent subclasses having attributes represented by instance variables, said relational data store schema defined by a plurality of columns, each column corresponding to one of said attributes, the method comprising the steps of:
- generating mapping software code in a high-level language, said mapping software code defining a mapping between each instance variable of said dependent class and one of said columns, said mapping software code further defining a mapping between each instance variable of each dependent subclass and one of said columns, said mapping software code mapping a marker to each column for which a dependent subclass has no corresponding attribute, each dependent class and dependent subclass thereby defined by a pattern of columns having said marker and columns not having said marker; and
initiating an application program run-time call to an object database driver referencing an object, said object database driver accessing data elements of said data store and associating said data elements with instance variables of said object in response to said application program run-time call and said mapping software code.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for mapping a persistent dependent object between object-oriented schema and relational data store schema. Prior to application program run-time, schema mapping code is generated that defines a logical combination of null and non-null columns in the relational tables for each dependent class and dependent subclass. The code maps each instance variable of each class and subclass of the dependent to one column of the relational data store schema. The code maps a null value to each column for which a dependent subclass has no corresponding instance variable. At run-time, an application program may invoke the services of a schema map object, which in turn calls an object database driver such as ODBC to store an object in the data store or retrieve an object from the data store. In response to such calls referencing an object, the object database driver accesses the data store and associates the data elements with instance variables of the object in accordance with the mapping defined by the mapping code. The subclasses of the dependent are determined by comparing the pattern or combination of null values and non-null values read from the columns corresponding to each class and subclasses to that which the mapping code defines for each class and subclass. The application program, having been provided with the class and subclasses of the dependent, may then store the (non-null) values read by the driver into the instance variables of the object.
219 Citations
13 Claims
-
1. A computer-implemented method for mapping a dependent between object-oriented schema and relational data store schema, said dependent having a dependent class and a plurality of dependent subclasses, said dependent classes and dependent subclasses having attributes represented by instance variables, said relational data store schema defined by a plurality of columns, each column corresponding to one of said attributes, the method comprising the steps of:
-
generating mapping software code in a high-level language, said mapping software code defining a mapping between each instance variable of said dependent class and one of said columns, said mapping software code further defining a mapping between each instance variable of each dependent subclass and one of said columns, said mapping software code mapping a marker to each column for which a dependent subclass has no corresponding attribute, each dependent class and dependent subclass thereby defined by a pattern of columns having said marker and columns not having said marker; and initiating an application program run-time call to an object database driver referencing an object, said object database driver accessing data elements of said data store and associating said data elements with instance variables of said object in response to said application program run-time call and said mapping software code. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for selectively mapping a dependent between object-oriented schema and relational data store schema in accordance with a selected table mode, said dependent having a dependent class and a plurality of dependent subclasses, said dependent classes and dependent subclasses having attributes represented by instance variables, said relational data store schema defined by a plurality of columns, each column corresponding to one of said attributes, the method comprising the steps of:
-
selecting either a single-table mode or a plural-table mode; generating mapping software code in a high-level language, said mapping software code defining a mapping between each instance variable of said dependent class and one of said columns, said mapping software code further defining a mapping between each instance variable of each dependent subclass and one of said columns, said mapping software code mapping a marker to each column for which a dependent subclass has no corresponding attribute, each dependent class and dependent subclass thereby defined by a pattern of columns having said marker and columns not having said marker; said mapping software code, in response to selection of said plural-table mode, defines a mapping wherein said columns include columns in a plurality of tables of said relational data store schema, and said mapping software code defines a connection between said columns of said tables corresponding to the same attribute as each other; and said mapping software code, in response to selection of said single-table mode defines a mapping wherein all of said columns are included within one table of said relational data store schema.
-
-
6. A system for mapping a dependent between object-oriented schema and relational data store schema, said dependent having a dependent class and a plurality of dependent subclasses, said dependent classes and dependent subclasses having attributes represented by instance variables, said relational data store schema defined by a plurality of columns, each column corresponding to one of said attributes, comprising:
-
a mapping software code generator for generating mapping software code in a high-level language, said mapping software code defining a mapping between each instance variable of said dependent class and one of said columns, said mapping software code further defining a mapping between each instance variable of each dependent subclass and one of said columns, said mapping software code mapping a marker to each column for which a dependent subclass has no corresponding attribute, each dependent class and dependent subclass thereby defined by a combination of columns having said marker and columns not having said marker; and an object database driver, wherein an application program run-time call from an application program running on a computer references an object, and said object database driver accesses data elements of said data store and associates said data elements with instance variables of said object in response to said application program run-time call and said mapping software code. - View Dependent Claims (7, 8, 9)
-
-
10. A program product for use in a computer system for mapping a dependent between object-oriented schema and relational data store schema, said dependent having a dependent class and a plurality of dependent subclasses, said dependent classes and dependent subclasses having attributes represented by instance variables, said relational data store schema defined by a plurality of columns, each column corresponding to one of said attributes, said computer program product comprising a signal-bearing medium carrying thereon:
-
mapping code defining a mapping between each instance variable of said dependent class and one of said columns, said mapping code further defining a mapping between each instance variable of each dependent subclass and one of said columns, said mapping code mapping a marker to each column for which a dependent subclass has no corresponding attribute, each dependent class and dependent subclass thereby defined by a pattern of columns having said marker and columns not having said marker; and a connection between said mapping code and an object class having said dependent class, whereby an application program run-time call from an application program running on a computer references an object, and said object database driver accesses data elements of said data store and associates said data elements with instance variables of said object in response to said application program run-time call and said mapping code. - View Dependent Claims (11, 12, 13)
-
Specification