Patent ID: 7546579

Claim:
A system implemented using a computer to support Plain Old Java® Object persistence, comprising: an annotated source code that includes a source code of a more Plain Old Java® Object class augmented with a plurality of annotations; a plurality of annotation definitions, wherein each of the plurality of definitions defines one of the plurality of annotations, wherein the plurality of annotation definitions define persistence between the Plain Old Java® Object class and a table in a database including defining a plurality of methods to get names of primary key and database table to which the Plain Old Java® Object class is mapped at runtime and defining name of the column of the database table to be used for Java polymorphism feature; relations between two or more Plain Old Java® Object classes and their corresponding tables in the database; and caching and persistence of more Plain Old Java® Objects of one or more related classes of the more Plain Old Java® Object class, including name of a relationship caching, CMR (container-managed relation) fields to keep the relations and names of groups of the Plain Old Java® Object classes to be loaded for the CMR fields; an enhanced compiler capable of: parsing and recognizing each of the plurality of annotations in the annotated source code; and compiling the annotated source code and the plurality of annotation definitions into an executable bytecode; and said executable bytecode includes one or more query statements to persist a plurality of more Plain Old Java® Objects to the database via the plurality of annotations and a deployment descriptor that defines features of underlying databases and query statements.