Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Introduction to CayenneModeler/Running CayenneModeler/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Introduction%20to%20CayenneModeler/Running%20CayenneModeler/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Introduction to CayenneModeler/Running CayenneModeler/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Introduction to CayenneModeler/Running CayenneModeler/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,58 @@ + + + Cayenne Documentation - Running CayenneModeler + + + +
+
+ Cayenne User Documentation
+ Running CayenneModeler +
+
+ +
+

CayenneModeler is a regular Java application and can be run on a JSDK1.4 compatible JVM. Main class is org.objectstyle.cayenne.modeler.Main. For convenience Cayenne distribution provides run scripts to start modeler on Windows and UNIX platforms. To take advantage of these scripts, user must set CAYENNE_HOME (optional) and JAVA_HOME environment variables as described in the installation section.

+ +

To run CayenneModeler, simply doubleclick an appropriate script file. To run them from the command line, use the following commands.

+ +

Windows:

+ +
+

%CAYENNE_HOME%\bin\modeler.bat

+
+ +

UNIX:

+ +
+

$CAYENNE_HOME/bin/modeler.sh

+
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Introduction to CayenneModeler/Running CayenneModeler/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Introduction to CayenneModeler/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Introduction%20to%20CayenneModeler/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Introduction to CayenneModeler/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Introduction to CayenneModeler/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,65 @@ + + + Cayenne Documentation - Introduction to CayenneModeler + + + +
+
+ Cayenne User Documentation
+ Introduction to CayenneModeler +
+
+ +
+

Cayenne stores mapping and deployment information using a set of XML files with a predefined format. These files can be always edited by hand, but Cayenne goes beyond that. A standard distribution contains CayenneModeler - a Java Swing GUI application that serves as an Object/Relational modeling tool. It is much more than just a specialized XML editor. It provides a comprehensive set of O/R functions, including:

+ + + + +

Among other things CayenneModeler allows new users to learn the concepts used in Cayenne framework, its terminology, and the overall structure.

+ +

The following chapters of this Guide discuss how to use various functions of CayenneModeler.

+ + +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Introduction to CayenneModeler/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Database Layer/To Dep PK Checkbox/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Database%20Layer/To%20Dep%20PK%20Checkbox/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Database Layer/To Dep PK Checkbox/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Database Layer/To Dep PK Checkbox/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,50 @@ + + + Cayenne Documentation - To Dep PK Checkbox + + + +
+
+ Cayenne User Documentation
+ To Dep PK Checkbox +
+
+ +
+

"To Dep PK" Checkbox

+ +

Some DB relationships consist only of the primary key columns of the participating tables. Examples of such relationships are:

+ + + +

Normally one side of the relationship is considered "master" and another one - "dependent", meaning that "dependent" part can not exist without a corresponding "master" record, while "master" record can exist without any dependents. This fact is reflected in Cayenne mapping. DbEntity "Relationships" panel contains "To Dep PK" column. The checkboxes in this column are disabled, unless the relationship only consists of the PK attributes. If this is the case, you must select the relationship going in the direction from "master" to "dependent" and check the "To Dep PK" checkbox on this relationship. Otherwise Cayenne will not be able to handle such relationship properly.

+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Database Layer/To Dep PK Checkbox/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Database Layer/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Database%20Layer/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Database Layer/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Database Layer/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,47 @@ + + + Cayenne Documentation - Modeling Database Layer + + + +
+
+ Cayenne User Documentation
+ Modeling Database Layer +
+
+ +
+

This chapter describes modeling the RDBMS schema in Cayenne.

+ +

To be done...

+ +

Sub-sections

+ +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Database Layer/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/CayenneModeler Flattened Relationships/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/CayenneModeler%20Flattened%20Relationships/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/CayenneModeler Flattened Relationships/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/CayenneModeler Flattened Relationships/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,61 @@ + + + Cayenne Documentation - CayenneModeler Flattened Relationships + + + +
+
+ Cayenne User Documentation
+ CayenneModeler Flattened Relationships +
+
+ +
+

Flattened Relationships

+ +

ObjRelationships that map to more than a single DbRelationship are called "flattened".

+ +

The most common case for using flattened relationships is modeling many-to-many relationships with a join table. E.g. ARTIST DbEntity has to-many relationship to ARTIST_EXHIBIT; ARTIST_EXHIBIT in turn has a to-one relationship to EXHIBIT DbEntity. We can create a single ObjRelationship from Artist ObjEntity to Exhibit ObjEntity that spawns two DbRelationships. This will be a to-many relationship. Lets say it is called "exhibitArray". Generated class file for Artist would contain a getExhibitArray() method returning a list of Exhibits for a given artist instance. An obvious advantage of having a flattened relationship in this case is to avoid mapping a join table as an object, meaningless in the context of the object model.

+ +

Flattened relationships work across any combination of to-one and to-many DbRelationships. If all the relationships are to-one, then the resulting flattened relationship is also to-one. If there is at least one to-many, the result is to-many as well.

+
Read-Only Note
+

Most of flattened relationships are treated as read-only by Cayenne. Only one (the most commonly used) type is read/write. It is many-to-many (n:m) flattened relationships with a single join table.

+

To map an ObjRelationship to a chain of DbRelationships, select ObjRelationship table row and click "Edit Relationship" button in the bottom right. "ObjRelationship Inspector" dialog will appear.

+ +

+ +

The dialog contains a DbRelationship table. Clicking on each row in this table will show valid choices of DbRelationships. Once you add a "chain" component, another row automatically opens below, so you can build a chain of arbitrary length.

+
Join Table Tip
+

If you flatten across a join table and this join table was mapped to an ObjEntity (and a correspoding Java class), such ObjEntity can be deleted, as it is no longer needed. Underlying DbEntity must be preserved.

+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/CayenneModeler Flattened Relationships/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/CayenneModeler Flattened Relationships/objrelationship-path-selection.jpg URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/CayenneModeler%20Flattened%20Relationships/objrelationship-path-selection.jpg?rev=405581&view=auto ============================================================================== Binary file - no diff available. Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/CayenneModeler Flattened Relationships/objrelationship-path-selection.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Delete Rules/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/Delete%20Rules/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Delete Rules/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Delete Rules/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,68 @@ + + + Cayenne Documentation - Delete Rules + + + +
+
+ Cayenne User Documentation
+ Delete Rules +
+
+ +
+

Delete Rules

+ +

One of the columns in the Modeler ObjRelationships panel is "Delete Rule". It tells Cayenne what to do with related objects when a source object of the relationship is deleted. Cayenne will use this delete rule to perform cleanup of other objects after a given object was deleted from the graph.

+ +

Default delete rule is No Action, meaning just that - when an object is deleted, no changes should happen to objects related to this object via a given relationship. Though this is a default, it is not very useful, and can lead to object graph corruption in many cases. It is developer responsibility to select a more meaningful delete rule. The choices are: "Nullify", "Cascade" and "Deny". Each one of them is explained below.

+ + + + + + + + + + +
Cayenne Delete Rules vs. DB Delete Rules
+

Some databases allow to define delete rules logically similar to the rules described above. Cayenne rules differ from DB rules in that they deal with object graph instead of relational schema. Some changes to the object graph will result in database operations (e.g. resetting FK to NULL as a result of Nullify rule), some others will not (e.g. removing a deleted DataObject from the to-many array as a result of another Nullify rule).

+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Delete Rules/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Many-to-Many Relationships/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/Many-to-Many%20Relationships/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Many-to-Many Relationships/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Many-to-Many Relationships/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,53 @@ + + + Cayenne Documentation - Many-to-Many Relationships + + + +
+
+ Cayenne User Documentation
+ Many-to-Many Relationships +
+
+ +
+

Many-to-Many Relationships

+ +

Many-to-many relationships can be modeled in two different ways:

+ +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Many-to-Many Relationships/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Inheritance/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/Modeling%20Inheritance/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Inheritance/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Inheritance/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,91 @@ + + + Cayenne Documentation - Modeling Inheritance + + + +
+
+ Cayenne User Documentation
+ Modeling Inheritance +
+
+ +
+

Modeling Inheritance

+ +

"Inheritance" is an Object Oriented concept absent from traditional RDBMS world. Still Cayenne allows to map a class hierarchy to the database schema. All classes in the hierarchy map to the same base table (this type of mapping is therefore called "single table inheritance"). One or more columns in the base table are usually assumed to be "class designator columns"; their values determine what object class to use when a fetched row is converted to a persistent object.

+ +

Creating ObjEntity Hierarchy

+ +

Consider the following class hierarchy that we want to map to a PERSON table:

+ +

+ +

For each of the four Java classes one may create individual ObjEntities, however only AbstractPerson entity would map directly to the underlying "PERSON" DbEntity. For the rest instead of selecting a value from the "Table/View" dropdown, a corresponding "super entity" from the "Inheritance" dropdown should be selected. Note that when an entity inherits from another entity, a list of inherited attributes and relationships shows up as read only information under the corresponding tabs.

+ +

Defining Class Qualifier

+ +

Afer creating entity inheritance tree, it is important to configure how the entities differ from each other, so that later when the data is fetched, Cayenne would know which class to instantiate. This is achieved by using entity qualifiers described earlier. Usually all entities in the hierarchy, except for the root, require such qualifier. It should be created in such a way that it completely defines a given entity without considering any subclasses or superclasses. In the example above, if the possible values of the class designator column are "EMPLOYEE", "MANAGER", "CUSTOMER", the following qualifiers might be used:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ObjEntityQualifierFinal Qualifier Generated by Cayenne for SelectQuery
AbstractPersonnonenone
CustomerContactpersonType = 'CUSTOMER'personType = 'CUSTOMER'
EmployeepersonType = 'EMPLOYEE'personType = 'EMPLOYEE' or personType = 'MANAGER'
ManagerpersonType = 'MANAGER'personType = 'MANAGER'
+ +
Qualifiers Note
+

Qualifiers are not inherited! When defining qualifiers for inheritance purposes keep in mind that the actual qualifier built by Cayenne will include the qualifier of a root entity and qualifiers of all its known subentities joined using "or" operator, as shown in the above example.

+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Inheritance/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Inheritance/inheritance-diagram.jpg URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/Modeling%20Inheritance/inheritance-diagram.jpg?rev=405581&view=auto ============================================================================== Binary file - no diff available. Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Inheritance/inheritance-diagram.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling ObjEntities/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/Modeling%20ObjEntities/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling ObjEntities/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling ObjEntities/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,63 @@ + + + Cayenne Documentation - Modeling ObjEntities + + + +
+
+ Cayenne User Documentation
+ Modeling ObjEntities +
+
+ +
+

Modeling ObjEntities

+ +

Java object layer in Cayenne is modeled as a set of ObjEntities with relationships between them. Each ObjEntity consists of a reference to a DbEntity (table). It also specifies the Java class for a business object and a set of attributes of this class.

+ +

A default set of ObjEntities is created during reverse engineering the database. It can be modified manually. E.g. certain entities may be excluded, certain attributes deleted if they are not a part of object layer. Some relationships can be "flattened" as described later in this chapter.

+ +

Modeler has a useful function that allows to update an ObjEntity after the changes were made to an underlying DbEntity. E.g. if a new database table called PAINTING_INFO was added, and a DbEntity created for this table, the following steps can be taken to quickly create a corresponding ObjEntity.

+ + + +

ObjEntity Qualifier

+ +

ObjEntities can hold a qualifier expression that is automatically appended to all SelectQueries rooted in a given ObjEntity. Entity qualifier can be viewed as a global data filter for a given entity. One area where this feature is used is inheritance mapping, however by itself it has nothing to do with inheritance as such and can be used standalone. To set an entity qualifier, type a Cayenne expression into the "Qualifier" field of the ObjEntity editor panel. Valid expressions grammar is described here.

+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling ObjEntities/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Remote Persistence/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/Modeling%20Remote%20Persistence/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Remote Persistence/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Remote Persistence/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,61 @@ + + + Cayenne Documentation - Modeling Remote Persistence + + + +
+
+ Cayenne User Documentation
+ Modeling Remote Persistence +
+
+ +
+

TODO

+ +

To enable remote persistence, you must check "allow client entities" for the DataMap.

+ +

Java Client

+ + + + +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/Modeling Remote Persistence/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Object%20Layer/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,56 @@ + + + Cayenne Documentation - Modeling Object Layer + + + +
+
+ Cayenne User Documentation
+ Modeling Object Layer +
+
+ +
+

This chapter describes modeling persistent object layer in Cayenne.

+ +

Sub-sections

+ + +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Object Layer/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Queries/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Queries/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Queries/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Queries/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,38 @@ + + + Cayenne Documentation - Modeling Queries + + + +
+
+ Cayenne User Documentation
+ Modeling Queries +
+
+ +
+

TBD

+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Queries/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Tips/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/Modeling%20Tips/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Tips/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Tips/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,49 @@ + + + Cayenne Documentation - Modeling Tips + + + +
+
+ Cayenne User Documentation
+ Modeling Tips +
+
+ +
+

This section contains a few unorganized tips on Object/Relational modeling in Cayenne. Some of these tips may become obsolete in the future as the Modeler evolves, making many things more transparent to the user.

+ + +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/Modeling Tips/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/Converting an Existing Business Framework/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/ORM%20Case%20Study/Converting%20an%20Existing%20Business%20Framework/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/Converting an Existing Business Framework/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/Converting an Existing Business Framework/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,71 @@ + + + Cayenne Documentation - Converting an Existing Business Framework + + + +
+
+ Cayenne User Documentation
+ Converting an Existing Business Framework +
+
+ +
+

Converting an Existing Business Framework

+ +

If there is an existing data layer (e.g. DAO) that needs to be converted to Cayenne, currently most of the mapping tasks will have to be done manually using the Modeler.

+ +
Note for EOF Users
+

CayenneModeler provides import function for the EOModels. So most of the mapping conversions should be automatic.

+ +

In any case there is a good chance of reusing business methods already defined in a persistence framework. And definitely any existing database can be used as is. One possible approach to conversion is to follow these steps:

+ + + + +

See the following topics explaining individual tasks involved:

+ + +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/Converting an Existing Business Framework/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/Java Interface to an Existing Database/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/ORM%20Case%20Study/Java%20Interface%20to%20an%20Existing%20Database/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/Java Interface to an Existing Database/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/Java Interface to an Existing Database/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,54 @@ + + + Cayenne Documentation - Java Interface to an Existing Database + + + +
+
+ Cayenne User Documentation
+ Java Interface to an Existing Database +
+
+ +
+

Java Interface to an Existing Database

+ +

To quickly start a new project based on an existing database, CayenneModeler "reverse engineering" functionality is used. Cayenne will create an exact model of the database schema, and extrapolate it to the object layer. DataMaps created during reverse engineering will contain metadata for Java business layer. The names of classes and their properties will be compatible with Java naming conventions. E.g for a table called "USER_TYPE", a class named "UserType" will be created in the mapping.

+ +

See the following topics explaining how to reverse engineer a database into a Cayenne model:

+ + +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/Java Interface to an Existing Database/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/New System/index.html URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler%20Guide/ORM%20Case%20Study/New%20System/index.html?rev=405581&view=auto ============================================================================== --- incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/New System/index.html (added) +++ incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/New System/index.html Tue May 9 18:10:42 2006 @@ -0,0 +1,54 @@ + + + Cayenne Documentation - New System + + + +
+
+ Cayenne User Documentation
+ New System +
+
+ +
+

New System

+ +

For the tasks that do not use neither an existing Java layer, nor an existing database schema, Cayenne mapping project can serve as a starting point for both. User would start a new Cayenne project, create a DataMap with DbEntities corresponding to the desired schema, and then create a set of ObjEntities on top of that. After this is done, both Java and database layer can be generated from the mapping.

+ +

See the following topics explaining individual tasks involved:

+ + +
+ +
.
+
+ + + + + Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-other/wiki-docs/Documentation/Modeler Guide/ORM Case Study/New System/index.html ------------------------------------------------------------------------------ svn:eol-style = native