IP Library Granted Patent US 8,260,824
Granted Patent B2
US 8,260,824 · App. 12/435,654 · Granted Sep 4, 2012

Object-relational based data access for nested relational and hierarchical databases

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,260,824
App. No.
12/435,654
Granted
Sep 4, 2012
Kind
B2
Abstract

Mechanisms are provided for mapping objects and object-relationships in an object-oriented programming language to a nested relational database. Entity metadata constructs for an object relational mapping framework are obtained, the entity metadata constructs mapping fields in entities of an object model to fields in a data table of the nested relational database and identifying relationships between entities in the object model. A nested relational data model of the nested relational database is obtained, the nested relational data model specifying tables and sub-tables of the nested relational database. Tables and sub-tables of the nested relational database are mapped to a plurality of separate entities of the object model. Data in the nested relational database is accessed using the plurality of separate entities. The mapping is performed without normalizing the data of the tables and sub-tables of the nested relational database to a non-nested representation.

Claims (52)

1. A method, in a data processing system, comprising:

obtaining entity metadata constructs for an object relational mapping framework, the entity metadata constructs mapping fields in entities of an object model to fields in a data table of the nested relational database and identifying relationships between entities in the object model;

obtaining a nested relational data model of the nested relational database, the nested relational data model specifying tables and sub-tables of the nested relational database;

mapping tables and sub-tables of the nested relational database to a plurality of separate entities of the object model, wherein at least one parent table is mapped to at least one top-level entity and at least one sub-table is mapped to at least one sub-entity of the at least one top-level entity; and

accessing data in the nested relational database using the plurality of separate entities, wherein:

the mapping is performed without normalizing the data of the tables and sub-tables of the nested relational database to a non-nested representation,

mapping tables and sub-tables of the nested relational database to a plurality of separate entities of the object model comprises providing a nested relational entity provider and using the nested relational entity provider to perform the mapping,

the nested relational entity provider loads a top level entity and at least one sub-entity of the top level entity using a single read operation on a record of the nested relational database, and

the record includes at least one multi-value field identifying at least one sub-entity.

2. The method of claim 1 , wherein the at least one parent table has a nested one-to-many relationship to a plurality of sub-entities in the at least one sub-entity.

3. The method of claim 1 , wherein the mapping is performed without introducing additional mapping metadata constructs to those used in the object relational mapping framework, for the purpose of mapping tables and nested sub-tables to a plurality of separate entities.

4. The method of claim 1 , wherein the object relational mapping framework is one of a Java Persistence Architecture (JPA) object relational mapping framework or a .NET Entity Framework object relational mapping framework.

5. The method of claim 1 , wherein accessing data in the nested relational database using the plurality of separate entities comprises using a native data access application program interface (API) of the nested relational database to directly access the data without use of an intervening query language engine.

6. The method of claim 1 , wherein operations on an entity in the plurality of separate entities are cascaded down to all sub-entities below the entity in accordance with relationships between the entity and the sub-entities.

7. A computer program product comprising a computer readable storage medium having a computer readable program stored thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:

obtain entity metadata constructs for an object relational mapping framework, the entity metadata constructs mapping fields in entities of an object model to fields in a data table of a nested relational database and identifying relationships between entities in the object model;

obtain a nested relational data model of the nested relational database, the nested relational data model specifying tables and sub-tables of the nested relational database;

map tables and sub-tables of the nested relational database to a plurality of separate entities of the object model, wherein at least one parent table is mapped to at least one top-level entity and at least one sub-table is mapped to at least one sub-entity of the at least one top-level entity; and

access data in the nested relational database using the plurality of separate entities, wherein:

the mapping is performed without normalizing the data of the tables and sub-tables of the nested relational database to a nested representation,

mapping tables and sub-tables of the nested relational database to a plurality of separate entities of the object model comprises providing a nested relational entity provider and using the nested relational entity provider to perform the mapping,

the nested relational entity provider loads a top level entity and at least one sub-entity of the top level entity using a single read operation on a record of the nested relational database, and

the record includes at least one multi-value field identifying at least one sub-entity.

8. The computer program product of claim 7 , wherein the at least one parent table has a nested one-to-many relationship to a plurality of sub-entities in the at least one sub-entity.

9. The computer program product of claim 7 , wherein the computer readable program causes the computing device to perform the mapping without introducing additional mapping metadata constructs to those used in the object relational mapping framework, for the purpose of mapping tables and nested sub-tables to a plurality of separate entities.

10. The computer program product of claim 7 , wherein the object relational mapping framework is one of a Java Persistence Architecture (JPA) object relational mapping framework or a .NET Entity Framework object relational mapping framework.

11. The computer program product of claim 7 , wherein the computer readable program causes the computing device to access data in the nested relational database using the plurality of separate entities by using a native data access application program interface (API) of the nested relational database to directly access the data without use of an intervening query language engine.

12. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

obtain entity metadata constructs for an object relational mapping framework, the entity metadata constructs mapping fields in entities of an object model to fields in a data table of a nested relational database and identifying relationships between entities in the object model;

obtain a nested relational data model of the nested relational database, the nested relational data model specifying tables and sub-tables of the nested relational database;

map tables and sub-tables of the nested relational database to a plurality of separate entities of the object model, wherein at least one parent table is mapped to at least one top-level entity and at least one sub-table is mapped to at least one sub-entity of the at least one top-level entity; and

access data in the nested relational database using the plurality of separate entities, wherein:

the mapping is performed without normalizing the data of the tables and sub-tables of the nested relational database to a non-nested representation,

mapping tables and sub-tables of the nested relational database to a plurality of separate entities of the object model comprises providing a nested relational entity provider and using the nested relational entity provider to perform the mapping,

the nested relational entity provider loads a top level entity and at least one sub-entity of the top level entity using a single read operation on a record of the nested relational database, and

the record includes at least one multi-value field identifying at least one sub-entity.

13. The apparatus of claim 12 , wherein the at least one parent table has a nested one-to-many relationship to a plurality of sub-entities in the at least one sub-entity.

14. The apparatus of claim 12 , wherein the instructions cause the processor to perform the mapping without introducing additional mapping metadata constructs to those used in the object relational mapping framework, for the purpose of mapping tables and nested sub-tables to a plurality of separate entities.

15. The apparatus of claim 12 , wherein the object relational mapping framework is one of a Java Persistence Architecture (JPA) object relational mapping framework or a .NET Entity Framework object relational mapping framework.

16. The apparatus of claim 12 , wherein the instructions cause the processor to access data in the nested relational database using the plurality of separate entities by using a native data access application program interface (API) of the nested relational database to directly access the data without use of an intervening query language engine.

17. A method, in a data processing system, comprising:

obtaining entity metadata constructs for an object relational mapping framework, the entity metadata constructs mapping fields in entities of an object model to fields in a data table of the nested structure database and identifying relationships between entities in the object model;

obtaining a nested structure data model of the nested structure database, the nested structure data model specifying tables of the nested structure database;

mapping tables of the nested structure database to a plurality of separate entities of the object model, wherein at least one first table is mapped to at least one top-level entity and at least one second table is mapped to at least one sub-entity of the at least one top-level entity; and

accessing data in the nested structure database using the plurality of separate entities, wherein:

the mapping is performed without normalizing the data of the tables of the nested structure database,

mapping tables of the nested relational database to a plurality of separate entities of the object model comprises providing a nested relational entity provider and using the nested relational entity provider to perform the mapping,

the nested relational entity provider loads a top level entity and at least one sub-entity of the top level entity using a single read operation on a record of the nested relational database, and

the record includes at least one multi-value field identifying at least one sub-entity.

18. The method of claim 17 , wherein the nested structure database is a hierarchical database, and wherein the nested structure data model is a hierarchical database data model.

Assignments (14)
PATENT SECURITY AGREEMENT (NOTES) Recorded May 2, 2024
From: ROCKET SOFTWARE, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067292/0099 →
RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) RECORDED AT REEL/FRAME NO.: 050339/0839 Recorded Feb 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ROCKET SOFTWARE, INC.
Reel/Frame 055206/0148 →
SECOND LIEN SECURITY AGREEMENT Recorded Apr 30, 2019
From: ROCKET SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050339/0839 →
FIRST LIEN SECURITY AGREEMENT Recorded Apr 29, 2019
From: ROCKET SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 049026/0136 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 040014/0756 Recorded Nov 28, 2018
From: CREDIT SUISSE AG
To: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERICA; ROCKET SOFTWARE SYSTEMS, INC.
Reel/Frame 048174/0225 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 040015/0171 Recorded Nov 28, 2018
From: CREDIT SUISSE AG
To: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERICA; ROCKET SOFTWARE SYSTEMS, INC.
Reel/Frame 048156/0811 →
SECURITY INTEREST Recorded Oct 14, 2016
From: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERCIA; ROCKET SOFTWARE SYSTEMS, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT UNDER FIRST LIEN CREDIT AGREEMENT
Reel/Frame 040014/0756 →
SECURITY INTEREST Recorded Oct 14, 2016
From: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERCIA; ROCKET SOFTWARE SYSTEMS, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT UNDER SECOND LIEN CREDIT AGREEMENT
Reel/Frame 040015/0171 →
RELEASE OF SECURITY INTEREST Recorded Sep 28, 2016
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERICA; ROCKET SOFTWARE SYSTEMS, INC.
Reel/Frame 039877/0884 →
RELEASE OF SECURITY INTEREST Recorded Sep 28, 2016
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERICA; ROCKET SOFTWARE SYSTEMS, INC.
Reel/Frame 039877/0807 →
SECURITY AGREEMENT Recorded Mar 2, 2012
From: ROCKET SOFTWARE, INC.; ROCKET SOFTWARE (US) LLC; COMPUTER CORPORATION OF AMERICA; ALDON COMPUTER GROUP; ZEPHYR DEVELOPMENT CORPORATION
To: CREDIT SUISSE AG, AS SECOND LIEN ADMINISTRATIVE AGENT
Reel/Frame 027800/0744 →
SECURITY AGREEMENT Recorded Mar 2, 2012
From: ROCKET SOFTWARE, INC.; ROCKET SOFTWARE (US) LLC; COMPUTER CORPORATION OF AMERICA; ALDON COMPUTER GROUP; ZEPHYR DEVELOPMENT CORPORATION
To: CREDIT SUISSE AG, AS FIRST LIEN ADMINISTRATIVE AGENT
Reel/Frame 027800/0921 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2009
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: ROCKET SOFTWARE, INC.
Reel/Frame 023673/0333 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2009
From: MAO, JIANFENG; WINGFIELD, STEVEN C.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022640/0350 →