<?xml version="1.0" encoding="utf-8"?> | |
<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap" | |
project-version="3.0"> | |
<property name="defaultPackage" value="org.apache.click.examples.domain"/> | |
<property name="defaultSuperclass" value="org.apache.click.examples.domain.BaseEntity"/> | |
<db-entity name="ADDRESS"> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="line_1" type="VARCHAR" isMandatory="true" length="64"/> | |
<db-attribute name="line_2" type="VARCHAR" length="64"/> | |
<db-attribute name="post_code" type="VARCHAR" isMandatory="true" length="8"/> | |
<db-attribute name="state" type="VARCHAR" isMandatory="true" length="8"/> | |
<db-attribute name="suburb" type="VARCHAR" isMandatory="true" length="64"/> | |
</db-entity> | |
<db-entity name="CLIENT"> | |
<db-attribute name="active" type="BOOLEAN"/> | |
<db-attribute name="address_id" type="INTEGER"/> | |
<db-attribute name="date_joined" type="DATE" isMandatory="true"/> | |
<db-attribute name="email" type="VARCHAR" length="64"/> | |
<db-attribute name="first_name" type="VARCHAR" isMandatory="true" length="64"/> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="last_name" type="VARCHAR" isMandatory="true" length="64"/> | |
<db-attribute name="title" type="VARCHAR" length="8"/> | |
</db-entity> | |
<db-entity name="COURSE"> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="name" type="VARCHAR" length="50"/> | |
</db-entity> | |
<db-entity name="COURSE_BOOKING"> | |
<db-attribute name="bookingDate" type="DATE" isMandatory="true"/> | |
<db-attribute name="bookingNotes" type="LONGVARCHAR" isMandatory="true" length="1024"/> | |
<db-attribute name="courseType" type="VARCHAR" isMandatory="true" length="32"/> | |
<db-attribute name="createdAt" type="DATE" isMandatory="true"/> | |
<db-attribute name="customerId" type="INTEGER" isMandatory="true"/> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
</db-entity> | |
<db-entity name="CUSTOMER"> | |
<db-attribute name="active" type="BOOLEAN"/> | |
<db-attribute name="age" type="INTEGER"/> | |
<db-attribute name="dateJoined" type="DATE"/> | |
<db-attribute name="email" type="VARCHAR" length="48"/> | |
<db-attribute name="holdings" type="DOUBLE"/> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="investments" type="VARCHAR" length="32"/> | |
<db-attribute name="name" type="VARCHAR" isMandatory="true" length="32"/> | |
</db-entity> | |
<db-entity name="ENROLLMENT"> | |
<db-attribute name="courseId" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="studentId" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
</db-entity> | |
<db-entity name="POST_CODE"> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="locality" type="VARCHAR" isMandatory="true" length="50"/> | |
<db-attribute name="postCode" type="VARCHAR" isMandatory="true" length="5"/> | |
<db-attribute name="state" type="VARCHAR" isMandatory="true" length="5"/> | |
</db-entity> | |
<db-entity name="STUDENT"> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="name" type="VARCHAR" length="50"/> | |
<db-attribute name="studentHouseId" type="INTEGER"/> | |
</db-entity> | |
<db-entity name="STUDENT_HOUSE"> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="name" type="VARCHAR" length="50"/> | |
</db-entity> | |
<db-entity name="SYSTEM_CODE"> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="label" type="VARCHAR" isMandatory="true" length="32"/> | |
<db-attribute name="name" type="VARCHAR" isMandatory="true" length="32"/> | |
<db-attribute name="orderBy" type="INTEGER" isMandatory="true"/> | |
<db-attribute name="value" type="VARCHAR" isMandatory="true" length="32"/> | |
</db-entity> | |
<db-entity name="USERS"> | |
<db-attribute name="email" type="VARCHAR" length="32"/> | |
<db-attribute name="fullname" type="VARCHAR" isMandatory="true" length="32"/> | |
<db-attribute name="id" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> | |
<db-attribute name="password" type="VARCHAR" isMandatory="true" length="16"/> | |
<db-attribute name="username" type="VARCHAR" isMandatory="true" length="16"/> | |
</db-entity> | |
<obj-entity name="Address" className="org.apache.click.examples.domain.Address" dbEntityName="ADDRESS" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="line1" type="java.lang.String" db-attribute-path="line_1"/> | |
<obj-attribute name="line2" type="java.lang.String" db-attribute-path="line_2"/> | |
<obj-attribute name="postCode" type="java.lang.String" db-attribute-path="post_code"/> | |
<obj-attribute name="state" type="java.lang.String" db-attribute-path="state"/> | |
<obj-attribute name="suburb" type="java.lang.String" db-attribute-path="suburb"/> | |
</obj-entity> | |
<obj-entity name="Client" className="org.apache.click.examples.domain.Client" dbEntityName="CLIENT" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="active" type="java.lang.Boolean" db-attribute-path="active"/> | |
<obj-attribute name="dateJoined" type="java.util.Date" db-attribute-path="date_joined"/> | |
<obj-attribute name="email" type="java.lang.String" db-attribute-path="email"/> | |
<obj-attribute name="firstName" type="java.lang.String" db-attribute-path="first_name"/> | |
<obj-attribute name="lastName" type="java.lang.String" db-attribute-path="last_name"/> | |
<obj-attribute name="title" type="java.lang.String" db-attribute-path="title"/> | |
</obj-entity> | |
<obj-entity name="Course" className="org.apache.click.examples.domain.Course" dbEntityName="COURSE" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="name" type="java.lang.String" db-attribute-path="name"/> | |
</obj-entity> | |
<obj-entity name="CourseBooking" className="org.apache.click.examples.domain.CourseBooking" dbEntityName="COURSE_BOOKING" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="bookingDate" type="java.util.Date" db-attribute-path="bookingDate"/> | |
<obj-attribute name="bookingNotes" type="java.lang.String" db-attribute-path="bookingNotes"/> | |
<obj-attribute name="courseType" type="java.lang.String" db-attribute-path="courseType"/> | |
<obj-attribute name="createdAt" type="java.util.Date" db-attribute-path="createdAt"/> | |
<obj-attribute name="customerId" type="java.lang.Integer" db-attribute-path="customerId"/> | |
</obj-entity> | |
<obj-entity name="Customer" className="org.apache.click.examples.domain.Customer" dbEntityName="CUSTOMER" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="active" type="java.lang.Boolean" db-attribute-path="active"/> | |
<obj-attribute name="age" type="java.lang.Integer" db-attribute-path="age"/> | |
<obj-attribute name="dateJoined" type="java.util.Date" db-attribute-path="dateJoined"/> | |
<obj-attribute name="email" type="java.lang.String" db-attribute-path="email"/> | |
<obj-attribute name="holdings" type="java.lang.Double" db-attribute-path="holdings"/> | |
<obj-attribute name="investments" type="java.lang.String" db-attribute-path="investments"/> | |
<obj-attribute name="name" type="java.lang.String" db-attribute-path="name"/> | |
</obj-entity> | |
<obj-entity name="PostCode" className="org.apache.click.examples.domain.PostCode" dbEntityName="POST_CODE" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="locality" type="java.lang.String" db-attribute-path="locality"/> | |
<obj-attribute name="postCode" type="java.lang.String" db-attribute-path="postCode"/> | |
<obj-attribute name="state" type="java.lang.String" db-attribute-path="state"/> | |
</obj-entity> | |
<obj-entity name="Student" className="org.apache.click.examples.domain.Student" dbEntityName="STUDENT" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="name" type="java.lang.String" db-attribute-path="name"/> | |
</obj-entity> | |
<obj-entity name="StudentHouse" className="org.apache.click.examples.domain.StudentHouse" dbEntityName="STUDENT_HOUSE" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="name" type="java.lang.String" db-attribute-path="name"/> | |
</obj-entity> | |
<obj-entity name="SystemCode" className="org.apache.click.examples.domain.SystemCode" dbEntityName="SYSTEM_CODE" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="label" type="java.lang.String" db-attribute-path="label"/> | |
<obj-attribute name="name" type="java.lang.String" db-attribute-path="name"/> | |
<obj-attribute name="orderBy" type="java.lang.Integer" db-attribute-path="orderBy"/> | |
<obj-attribute name="value" type="java.lang.String" db-attribute-path="value"/> | |
</obj-entity> | |
<obj-entity name="User" className="org.apache.click.examples.domain.User" dbEntityName="USERS" superClassName="org.apache.click.examples.domain.BaseEntity"> | |
<obj-attribute name="email" type="java.lang.String" db-attribute-path="email"/> | |
<obj-attribute name="fullname" type="java.lang.String" db-attribute-path="fullname"/> | |
<obj-attribute name="password" type="java.lang.String" db-attribute-path="password"/> | |
<obj-attribute name="username" type="java.lang.String" db-attribute-path="username"/> | |
</obj-entity> | |
<db-relationship name="client" source="ADDRESS" target="CLIENT" toMany="true"> | |
<db-attribute-pair source="id" target="address_id"/> | |
</db-relationship> | |
<db-relationship name="address" source="CLIENT" target="ADDRESS" toMany="false"> | |
<db-attribute-pair source="address_id" target="id"/> | |
</db-relationship> | |
<db-relationship name="ENROLLMENT" source="COURSE" target="ENROLLMENT" toMany="true"> | |
<db-attribute-pair source="id" target="courseId"/> | |
</db-relationship> | |
<db-relationship name="COURSE" source="ENROLLMENT" target="COURSE" toMany="false"> | |
<db-attribute-pair source="courseId" target="id"/> | |
</db-relationship> | |
<db-relationship name="STUDENT" source="ENROLLMENT" target="STUDENT" toDependentPK="true" toMany="false"> | |
<db-attribute-pair source="studentId" target="id"/> | |
</db-relationship> | |
<db-relationship name="ENROLLMENT" source="STUDENT" target="ENROLLMENT" toMany="true"> | |
<db-attribute-pair source="id" target="studentId"/> | |
</db-relationship> | |
<db-relationship name="STUDENT_HOUSE" source="STUDENT" target="STUDENT_HOUSE" toMany="false"> | |
<db-attribute-pair source="studentHouseId" target="id"/> | |
</db-relationship> | |
<db-relationship name="STUDENT" source="STUDENT_HOUSE" target="STUDENT" toMany="true"> | |
<db-attribute-pair source="id" target="studentHouseId"/> | |
</db-relationship> | |
<obj-relationship name="client" source="Address" target="Client" db-relationship-path="client"/> | |
<obj-relationship name="address" source="Client" target="Address" db-relationship-path="address"/> | |
<obj-relationship name="students" source="Course" target="Student" db-relationship-path="ENROLLMENT.STUDENT"/> | |
<obj-relationship name="courses" source="Student" target="Course" db-relationship-path="ENROLLMENT.COURSE"/> | |
<obj-relationship name="studentHouse" source="Student" target="StudentHouse" db-relationship-path="STUDENT_HOUSE"/> | |
<obj-relationship name="student" source="StudentHouse" target="Student" db-relationship-path="STUDENT"/> | |
<query name="states" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="SystemCode"> | |
<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/> | |
<qualifier><![CDATA[name = "STATE"]]></qualifier> | |
<ordering><![CDATA[orderBy]]></ordering> | |
</query> | |
<query name="titles" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="SystemCode"> | |
<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/> | |
<qualifier><![CDATA[name = "TITLE"]]></qualifier> | |
<ordering><![CDATA[orderBy]]></ordering> | |
</query> | |
</data-map> |