I've got a relatively simple OJB implementation that I'm trying to run.
I build some junit tests to check out if everything was working OK, but
apparently it isn't. The following is a the summarized error (the rest
is attached).
[junit] Caused by: org.apache.ojb.broker.metadata.MetadataException:
Could not read repository class descriptor data, using repository:
repository.xml: Repository version does not match. expected 1.0 but
found: 0.9.6. Please update your repository.dtd and your repository.xml
version attribute entry
As I am _extremely_ new to OJB I have no idea exactly what they mean. I
did some searching for those numbers and I'm still not sure. Any help
would be greatly appreciated. My repository.xml/dtd are also attached.
~ Matthew
P.S. I'm modifying some examples from a WROX book.
Buildfile: build.xml
prepare:
compile:
run-tests:
[junit] Running com.ccw_java.service.core.tests.TestOrganizationCRUD
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.807 sec
[junit] Testsuite: com.ccw_java.service.core.tests.TestOrganizationCRUD
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.807 sec
[junit] ------------- Standard Output ---------------
[junit] [BOOT] WARN: Value
"org.apache.ojb.broker.accesslayer.ConnectionFactoryConPooledImpl" is illegal for key
"ConnectionFactoryClass" (should be a class, using default value
org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl)
[junit] [BOOT] WARN: Value
"org.apache.ojb.broker.metadata.PersistentFieldDefaultImpl" is illegal for key
"PersistentFieldClass" (should be a class, using default value
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl)
[junit] [BOOT] WARN: Value "org.apache.ojb.broker.singlevm.PersistenceBrokerImpl"
is illegal for key "PersistenceBrokerClass" (should be a class, using default value
org.apache.ojb.broker.core.PersistenceBrokerImpl)
[junit] [BOOT] WARN: Value
"org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl" is illegal for key
"PersistenceBrokerFactoryClass" (should be a class, using default value
org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl)
[junit] [org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl] INFO:
Create PersistenceBroker instance pool, pool configuration was {whenExhaustedAction=0,
maxIdle=-1, maxActive=100, maxWait=2000, removeAbandoned=false,
numTestsPerEvictionRun=10, testWhileIdle=false, minEvictableIdleTimeMillis=1000000,
testOnReturn=false, logAbandoned=false, removeAbandonedTimeout=300,
timeBetweenEvictionRunsMillis=-1, testOnBorrow=false}
[junit] [org.apache.ojb.broker.metadata.RepositoryPersistor] INFO: OJB Descriptor
Repository: file:/home/mimetnet/Projects/Java/ccw-java/object/repository.xml
[junit] ------------- ---------------- ---------------
[junit] Testcase: testCRUD(com.ccw_java.service.core.tests.TestOrganizationCRUD):
Caused an ERROR
[junit] null
[junit] java.lang.ExceptionInInitializerError
[junit] at
org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl.buildDefaultKey(Unknown
Source)
[junit] at
org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl.<init>(Unknown Source)
[junit] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
[junit] at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
[junit] at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
[junit] at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
[junit] at java.lang.Class.newInstance0(Class.java:308)
[junit] at java.lang.Class.newInstance(Class.java:261)
[junit] at
org.apache.ojb.broker.core.PersistenceBrokerFactoryFactory.init(Unknown Source)
[junit] at
org.apache.ojb.broker.core.PersistenceBrokerFactoryFactory.<clinit>(Unknown Source)
[junit] at
org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unknown Source)
[junit] at
com.ccw_java.common.ServiceLocator.findBroker(ServiceLocator.java:61)
[junit] at
com.ccw_java.service.core.DAO.OrganizationDAO.insert(OrganizationDAO.java:65)
[junit] at
com.ccw_java.service.core.tests.TestOrganizationCRUD.testCRUD(TestOrganizationCRUD.java:59)
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[junit] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[junit] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[junit] Caused by: org.apache.ojb.broker.metadata.MetadataException: Could not
read repository class descriptor data, using repository: repository.xml: Repository
version does not match. expected 1.0 but found: 0.9.6. Please update your
repository.dtd and your repository.xml version attribute entry
[junit] at org.apache.ojb.broker.metadata.MetadataManager.init(Unknown Source)
[junit] at org.apache.ojb.broker.metadata.MetadataManager.<init>(Unknown
Source)
[junit] at org.apache.ojb.broker.metadata.MetadataManager.<clinit>(Unknown
Source)
[junit] ... 28 more
[junit] Caused by: org.apache.ojb.broker.metadata.MetadataException: Repository
version does not match. expected 1.0 but found: 0.9.6. Please update your
repository.dtd and your repository.xml version attribute entry
[junit] at
org.apache.ojb.broker.metadata.RepositoryXmlHandler.startElement(Unknown Source)
[junit] at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
[junit] at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown
Source)
[junit] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
[junit] at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown
Source)
[junit] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
[junit] at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
[junit] at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
[junit] at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
[junit] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
[junit] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
[junit] at
org.apache.ojb.broker.metadata.RepositoryPersistor.buildRepository(Unknown Source)
[junit] at
org.apache.ojb.broker.metadata.RepositoryPersistor.readDescriptorRepository(Unknown
Source)
[junit] ... 31 more
BUILD SUCCESSFUL
Total time: 3 seconds
<!--
ObJectRelationalBridge - Bridging Java objects and relational dabatases
This DTD describes the grammar of the Descriptor repository
Author: Thomas Mahler, (c) 2000, 2001, 2002
-->
<!--
The descriptor-repository is the root element of a repository.xml file.
It consists of one jdbc-connection-descriptor and at least one
class-descriptor element.
The jdbc-connection-descriptor element specifies the default jdbc
connection for the repository.
class-descriptor elements specify o/r mapping information for
persistent classes.
-->
<!ELEMENT descriptor-repository (jdbc-connection-descriptor, class-descriptor+)>
<!--
The isolation attribute defines the default isolation level for
class-descriptor that do not define a specific isolation level.
The version attribute is used to bind a repository.xml file to a given
version of this dtd. This will help to avoid versions conflicts.
-->
<!ATTLIST descriptor-repository
version (0.9.6) #REQUIRED
isolation-level (read-uncommitted | read-committed | repeatable-read |
serializable | optimistic) "read-uncommitted"
>
<!--
The jdbc-connection-descriptor element specifies the default jdbc
connection for the repository. All class-descriptor elements that do not
specify their own jdbc-connection-descriptor will use the default jdbc
connection.
A connection-pool element may be used to define connection pool
properties for the specified JDBC connection.
-->
<!ELEMENT jdbc-connection-descriptor (connection-pool?)>
<!--
The platform attribute is used to define the specific RDBMS Platform.
This attribute corresponds to a
org.apache.ojb.broker.platforms.PlatformXXXImpl class.
The jdbc-level attribute is used to specify the Jdbc compliance
level of the used Jdbc driver.
If a jndi-datasource-name for JNDI based lookup of Jdbc Connections is
specified, the four attributes driver, protocol, subprotocol, dbalias
used for Jdbc DriverManager based construction of Jdbc Connections
must not be declared.
The username and password attributes are used as credentials for obtaining
a jdbc connections.
If users don't want to keep this information the repository.xml file,
they'll have to perform an explicit call to PersistenceBroker.open(...).
-->
<!ATTLIST jdbc-connection-descriptor
platform (Db2 | Hsqldb | Informix | MsAccess | MsSQLServer |
MySQL | Oracle | PostgreSQL | Sybase | Sapdb) "Hsqldb"
jdbc-level (1.0 | 2.0 | 3.0) "1.0"
eager-release (true | false) "false"
jndi-datasource-name CDATA #IMPLIED
driver CDATA #IMPLIED
protocol CDATA #IMPLIED
subprotocol CDATA #IMPLIED
dbalias CDATA #IMPLIED
username CDATA #IMPLIED
password CDATA #IMPLIED
>
<!--
The connection-pool element specifies the connection pooling
parameter.
-->
<!ELEMENT connection-pool EMPTY>
<!--
maxActive
maximum number of connections that can be borrowed from the
pool at one time. When non-positive, there is no limit.
maxIdle
controls the maximum number of connections that can sit idle in the
pool at any time. When non-positive, there is no limit
maxWait
max time block to get connection instance from pool, after that exception is thrown.
When non-positive, block till last judgement
whenExhaustedAction
0 - fail when pool is exhausted
1 - block when pool is exhausted
2 - grow when pool is exhausted
testOnBorrow
The pool will attempt to validate each object before it is returned from the pool
testOnReturn
The pool will attempt to validate each object before it is returned to the pool
testWhileIdle
Indicates whether or not idle objects should be validated.
Objects that fail to validate will be dropped from the pool
timeBetweenEvictionRunsMillis
indicates how long the eviction thread should sleep before "runs" of examining
idle objects. When non-positive, no eviction thread will be launched.
minEvictableIdleTimeMillis
specifies the minimum amount of time that a connection may sit idle
in the pool before it is eligable for eviction due to idle time.
When non-positive, no connection will be dropped from the pool due
to idle time alone (depends on timeBetweenEvictionRunsMillis > 0)
numTestsPerEvictionRun
The number of connections to examine during each run of the
idle object evictor thread (if any)
connectionFactory
The name of the connection factory implementation that should be
used. If not set, default CF is used.
-->
<!ATTLIST connection-pool
maxActive CDATA #IMPLIED
maxIdle CDATA #IMPLIED
maxWait CDATA #IMPLIED
minEvictableIdleTimeMillis CDATA #IMPLIED
numTestsPerEvictionRun CDATA #IMPLIED
testOnBorrow (true|false) #IMPLIED
testOnReturn (true|false) #IMPLIED
testWhileIdle (true|false) #IMPLIED
timeBetweenEvictionRunsMillis CDATA #IMPLIED
whenExhaustedAction (0|1|2) #IMPLIED
connectionFactory CDATA #IMPLIED
>
<!--
For interfaces or abstract classes a class-descriptor holds a sequence of
extent-class elements.
For concrete classes it must have field-descriptors that describe primitive
typed instance variables.
References to other persistent entity classes are specified by
reference-descriptor elements.
Collections or arrays attributes that contain other persistent entity
classes are specified by collection-descriptor elements
Concrete base classes, may specify a sequence of extent-class elements,
naming the derived classes.
A class-descriptor may contain user defined custom attribute elements.
-->
<!ELEMENT class-descriptor
((extent-class+, attribute*) |
(extent-class*, field-descriptor+,
reference-descriptor*, collection-descriptor*, attribute*))>
<!--
The class attribute contains the full qualified name of the specified class.
As this attribute is of type ID there can only be one class-descriptor per
class.
The isolation-level attribute specifies the transactional isolation to be
used for this class.
If the proxy attribute is set, proxies are used for all loading operations
of instances of this class. If set to "dynamic", dynamic proxies are used.
If set to another value this value is interpreted as the full-qualified
name of the proxy class to use.
The schema attribute may contain the database schema owning the table
mapped to this class.
The table attribute speciefies the table name this class is mapped to.
The row-reader attribute may contain a full qualified class name.
This class will be used as the RowReader implementation used to
materialize instances of the persistent class.
The sequence-manager attribute may contain a full qualified class name.
This class will be used as the SequenceManager implementation for
the persistent class.
-->
<!ATTLIST class-descriptor
class ID #REQUIRED
isolation-level (read-uncommitted | read-committed | repeatable-read |
serializable | optimistic) "read-uncommitted"
proxy CDATA #IMPLIED
schema CDATA #IMPLIED
table CDATA #IMPLIED
row-reader CDATA #IMPLIED
sequence-manager CDATA #IMPLIED
>
<!--
An extent-class element is used to specify an implementing class or a
derived class that belongs to the extent of all instances of the interface
or base class.
-->
<!ELEMENT extent-class EMPTY>
<!--
The class-ref attribute must contain a fully qualified classname.
The repository file must contain a class-descriptor for this class.
-->
<!ATTLIST extent-class
class-ref IDREF #REQUIRED
>
<!--
A field descriptor contains mapping info for a primitive typed
attribute of a persistent class.
A field descriptor may contain custom attribute elements.
-->
<!ELEMENT field-descriptor (attribute*)>
<!--
The id attribute must contain a unique number identifying the decriptor.
The numbers for the attributes of a class must correspond to the order
of columns in the mapped table.
The name attribute holds the name of the persistent classes attribute.
If the PersistentFieldDefaultImpl is used there must be an attribute
in the persistent class with this name.
If the PersistentFieldPropertyImpl is used there must be a JavaBeans
compliant property of this name.
The table attribute may specify a table different from the mapped
table for the persistent class. (currently not implemented).
The column attribute specifies the column the persistentent classes field
is mapped to.
The jdbc-type attribute specifies the JDBC type of the column.
The primarykey specifies if the column is a primary key column.
The nullable attribute specifies if the column may contain null values.
The indexed attribute specifies if there is an index on this column
The autoincrement attribute specifies if the values for the persistent
attribute are automatically generated by OJB.
The locking attribute is set to true if the persistent attribute is
used for optimistic locking. can only be set for TIMESTAMP and INTEGER
columns.
The default-fetch attribute specifies whether the persistent attribute
belongs to the JDO default fetch group.
The conversion attribute contains a fully qualified class name.
This class must implement the interface
org.apache.ojb.accesslayer.conversions.FieldConversion.
A FieldConversion can be used to implement conversions between Java-
attributes and database columns.
The length attribute can be used to specify a length setting, if
required by the jdbc-type of the underlying database column.
The precision attribute can be used to specify a precision setting, if
required by the jdbc-type of the underlying database column.
The scale attribute can be used to specify a sclae setting, if
required by the jdbc-type of the underlying database column.
-->
<!ATTLIST field-descriptor
id CDATA #REQUIRED
name CDATA #REQUIRED
table CDATA #IMPLIED
column CDATA #REQUIRED
jdbc-type (BIT | TINYINT | SMALLINT | INTEGER | BIGINT | DOUBLE |
FLOAT | REAL | NUMERIC | DECIMAL | CHAR | VARCHAR |
LONGVARCHAR | DATE | TIME | TIMESTAMP | BINARY |
VARBINARY | LONGVARBINARY | CLOB | BLOB) #REQUIRED
primarykey (true | false) "false"
nullable (true | false) "true"
indexed (true | false) "false"
autoincrement (true | false) "false"
locking (true | false) "false"
default-fetch (true | false) "false"
conversion CDATA #IMPLIED
length CDATA #IMPLIED
precision CDATA #IMPLIED
scale CDATA #IMPLIED
>
<!--
An attribute element allows arbitrary name/value pairs to
be represented in the repository.
-->
<!ELEMENT attribute EMPTY>
<!--
The attribute-name identifies the name of the attribute.
The attribute-value identifies the value of the attribute.
-->
<!ATTLIST attribute
attribute-name CDATA #REQUIRED
attribute-value CDATA #REQUIRED
>
<!--
A reference-descriptor contains mapping info for an attribute of a
persistent class that is not primitive but references another
persistent entity Object.
A foreignkey element contains information on foreign key columns that
implement the association on the database level.
-->
<!ELEMENT reference-descriptor ( foreignkey+)>
<!--
The name attribute holds the name of the persistent classes attribute.
If the PersistentFieldDefaultImpl is used there must be an attribute
in the persistent class with this name.
If the PersistentFieldPropertyImpl is used there must be a JavaBeans
compliant property of this name.
The class-ref attribute contains a fully qualified class name.
This class is the Object type of the persistent reference attribute.
As this is an IDREF there must be a class-descriptor for this class
in the repository too.
The proxy attribute can be set to true to specify that proxy based
lazy loading should be used for this attribute.
The refresh attribute can be set to true to force OJB to refresh
object references on instance loading.
The auto-retrieve attribute specifies whether OJB automatically retrieves
this reference attribute on loading the persistent object.
If set to false the reference attribute is set to null. In this case the
user is responsible to fill the reference attribute.
The auto-update attribute specifies whether OJB automatically stores
this reference attribute on storing the persistent object.
This attribute must be set to false if using the OTM, ODMG or JDO layer.
The auto-delete attribute specifies whether OJB automatically deletes
this reference attribute on deleting the persistent object.
This attribute must be set to false if using the OTM, ODMG or JDO layer.
-->
<!ATTLIST reference-descriptor
name CDATA #REQUIRED
class-ref IDREF #REQUIRED
proxy (true | false) "false"
refresh (true | false) "false"
auto-retrieve (true | false) "true"
auto-update (true | false) "false"
auto-delete (true | false) "false"
>
<!--
A foreignkey element contains information on a foreign-key persistent
attribute that implement the association on the database level.
-->
<!ELEMENT foreignkey EMPTY>
<!--
The field-id-ref contains the id attribute of the field-descriptor
used as a foreign key.
-->
<!ATTLIST foreignkey
field-id-ref CDATA #REQUIRED
>
<!--
A collection-descriptor contains mapping info for a Collection- or
Array-attribute of a persistent class that contains persistent
entity Objects.
The inverse-foreignkey elements contains information on foreign-key
attributes that implement the association on the database level.
The fk-pointing-to-this-class and fk-pointing-to-element-class elements
are only needed if the Collection or array implements a m:n association.
In this case they contain information on the foreign-key columns of
the intermediary table.
-->
<!ELEMENT collection-descriptor (
inverse-foreignkey*,
fk-pointing-to-this-class*,
fk-pointing-to-element-class*)>
<!--
The name attribute holds the name of the persistent classes attribute.
If the PersistentFieldDefaultImpl is used there must be an attribute
in the persistent class with this name.
If the PersistentFieldPropertyImpl is used there must be a JavaBeans
compliant property of this name.
The collection-class may hold a fully qualified class name.
This class must be the Java type of the Collection attribute.
This attribute must only specified if the attribute type is not
a java.util.Collection (or subclass) or Array type.
The element-class-ref attribute contains a fully qualified class name.
This class is the Object type of the elements of persistent collection
or Array attribute.
As this is an IDREF there must be a class-descriptor for this class
in the repository too.
The orderby attribute may specify a field of the element class.
The Collection or Array will be sorted according to the specified attribute.
The sort attribute may be used to specify ascending or descending order for
this operation.
The indirection-table must specify the name of an intermediary table,
if the persistent collection attribute implements a m:n association.
The proxy attribute can be set to true to specify that proxy based
lazy loading should be used for this attribute.
The refresh attribute can be set to true to force OJB to refresh
object and collection references on instance loading.
The auto-retrieve attribute specifies whether OJB automatically retrieves
this attribute on loading the persistent object.
If set to false the persistent attribute is set to null. In this case the
user is responsible to fill the persistent attribute.
The auto-update attribute specifies whether OJB automatically stores
this reference attribute on storing the persistent object.
This attribute must be set to false if using the OTM, ODMG or JDO layer.
The auto-delete attribute specifies whether OJB automatically deletes
this reference attribute on deleting the persistent object.
This attribute must be set to false if using the OTM, ODMG or JDO layer.
-->
<!ATTLIST collection-descriptor
name CDATA #IMPLIED
collection-class CDATA #IMPLIED
element-class-ref IDREF #REQUIRED
orderby CDATA #IMPLIED
sort (ASC | DESC) "ASC"
indirection-table CDATA #IMPLIED
proxy (true | false) "false"
refresh (true | false) "false"
auto-retrieve (true | false) "true"
auto-update (true | false) "false"
auto-delete (true | false) "false"
>
<!--
A inverse-foreignkey element contains information on a foreign-key
persistent attribute that implement the association on the database level.
-->
<!ELEMENT inverse-foreignkey EMPTY>
<!--
The field-id-ref contains the id attribute of the field-descriptor
in the class of the collection elements that is used as a foreign key.
-->
<!ATTLIST inverse-foreignkey
field-id-ref CDATA #REQUIRED
>
<!--
A fk-pointing-to-this-class element contains information on a foreign-key
column of an intermediary table in a m:n scenario.
-->
<!ELEMENT fk-pointing-to-this-class EMPTY>
<!--
The column attribute specifies the foreign-key column in the intermediary
table that points to the class holding the collection.
-->
<!ATTLIST fk-pointing-to-this-class
column CDATA #REQUIRED
>
<!--
A fk-pointing-to-element-class element contains information on a foreign-key
column of an intermediary table in a m:n scenario.
-->
<!ELEMENT fk-pointing-to-element-class EMPTY>
<!--
The column attribute specifies the foreign-key column in the intermediary
table that points to the class of the collection elements.
-->
<!ATTLIST fk-pointing-to-element-class
column CDATA #REQUIRED
>
<!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
<!-- The OJB HIGH/LOW SequenceManagerTable -->
<class-descriptor
class="org.apache.ojb.broker.util.sequence.HighLowSequence"
table="OJB_HL_SEQ"
>
<field-descriptor id="1"
name="tableName"
column="TABLENAME"
jdbc-type="VARCHAR"
primarykey="true"
/>
<field-descriptor id="2"
name="fieldName"
column="FIELDNAME"
jdbc-type="VARCHAR"
primarykey="true"
/>
<field-descriptor id="3"
name="maxKey"
column="MAX_KEY"
jdbc-type="INTEGER"
/>
<field-descriptor id="4"
name="grabSize"
column="GRAB_SIZE"
jdbc-type="INTEGER"
/>
</class-descriptor>
<!-- The OJB Lock Table -->
<class-descriptor
class="org.apache.ojb.odmg.locking.LockEntry"
table="OJB_LOCKENTRY"
>
<field-descriptor id="1"
name="oidString"
column="OID_"
jdbc-type="VARCHAR"
primarykey="true"
/>
<field-descriptor id="2"
name="transactionId"
column="TX_ID"
jdbc-type="VARCHAR"
primarykey="true"
/>
<field-descriptor id="3"
name="timestamp"
column="TIMESTAMP_"
jdbc-type="BIGINT"
/>
<field-descriptor id="4"
name="isolationLevel"
column="ISOLATIONLEVEL"
jdbc-type="INTEGER"
/>
<field-descriptor id="5"
name="lockType"
column="LOCKTYPE"
jdbc-type="INTEGER"
/>
</class-descriptor>
<!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
<class-descriptor
class="org.apache.ojb.odmg.NamedRootsEntry"
table="OJB_NRM"
>
<field-descriptor id="1"
name="name"
column="NAME"
jdbc-type="VARCHAR"
primarykey="true"
/>
<field-descriptor id="2"
name="oid"
column="OID_"
jdbc-type="LONGVARBINARY"
/>
</class-descriptor>
<!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
<class-descriptor
class="org.apache.ojb.odmg.collections.DListImpl"
table="OJB_DLIST"
>
<field-descriptor id="1"
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
/>
<field-descriptor id="2"
name="size"
column="SIZE_"
jdbc-type="INTEGER"
/>
<collection-descriptor
name="elements"
element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
>
<inverse-foreignkey field-id-ref="2"/>
</collection-descriptor>
</class-descriptor>
<!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT EDIT-->
<class-descriptor
class="org.apache.ojb.odmg.collections.DListEntry"
table="OJB_DLIST_ENTRIES"
>
<field-descriptor id="1"
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
/>
<field-descriptor id="2"
name="dlistId"
column="DLIST_ID"
jdbc-type="INTEGER"
/>
<field-descriptor id="3"
name="position"
column="POSITION_"
jdbc-type="INTEGER"
/>
<field-descriptor id="4"
name="oid"
column="OID_"
jdbc-type="LONGVARBINARY"
conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
/>
</class-descriptor>
<!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
<class-descriptor
class="org.apache.ojb.odmg.collections.DBagImpl"
table="OJB_DLIST"
>
<field-descriptor id="1"
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
/>
<field-descriptor id="2"
name="size"
column="SIZE_"
jdbc-type="INTEGER"
/>
<collection-descriptor
name="elements"
element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
>
<inverse-foreignkey field-id-ref="2"/>
</collection-descriptor>
</class-descriptor>
<!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
<class-descriptor
class="org.apache.ojb.odmg.collections.DSetImpl"
table="OJB_DSET"
>
<field-descriptor id="1"
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
/>
<field-descriptor id="2"
name="size"
column="SIZE_"
jdbc-type="INTEGER"
/>
<collection-descriptor
name="elements"
element-class-ref="org.apache.ojb.odmg.collections.DSetEntry"
>
<inverse-foreignkey field-id-ref="2"/>
</collection-descriptor>
</class-descriptor>
<!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT EDIT-->
<class-descriptor
class="org.apache.ojb.odmg.collections.DSetEntry"
table="OJB_DSET_ENTRIES"
>
<field-descriptor id="1"
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
/>
<field-descriptor id="2"
name="dlistId"
column="DLIST_ID"
jdbc-type="INTEGER"
/>
<field-descriptor id="3"
name="position"
column="POSITION_"
jdbc-type="INTEGER"
/>
<field-descriptor id="4"
name="oid"
column="OID_"
jdbc-type="LONGVARBINARY"
conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
/>
</class-descriptor>
<!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
<class-descriptor
class="org.apache.ojb.odmg.collections.DMapImpl"
table="OJB_DMAP"
>
<field-descriptor id="1"
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
/>
<field-descriptor id="2"
name="size"
column="SIZE_"
jdbc-type="INTEGER"
/>
<collection-descriptor
name="entries"
element-class-ref="org.apache.ojb.odmg.collections.DMapEntry"
collection-class="org.apache.ojb.broker.util.collections.ManageableHashSet"
>
<inverse-foreignkey field-id-ref="2"/>
</collection-descriptor>
</class-descriptor>
<!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT EDIT-->
<class-descriptor
class="org.apache.ojb.odmg.collections.DMapEntry"
table="OJB_DMAP_ENTRIES"
>
<field-descriptor id="1"
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
/>
<field-descriptor id="2"
name="dmapId"
column="DMAP_ID"
jdbc-type="INTEGER"
/>
<field-descriptor id="3"
name="keyOID"
column="KEY_OID"
jdbc-type="LONGVARBINARY"
conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
/>
<field-descriptor id="4"
name="valueOID"
column="VALUE_OID"
jdbc-type="LONGVARBINARY"
conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
/>
</class-descriptor>
<!-- END OF OJB INTERNAL MAPPINGS--><?xml version="1.0" encoding="UTF-8"?>
<!-- defining entities for include-files -->
<!DOCTYPE descriptor-repository SYSTEM "repository.dtd" [
<!ENTITY internal SYSTEM "repository_internal.xml">
]>
<descriptor-repository version="0.9.6" isolation-level="read-uncommitted">
<!-- The Default JDBC Connection. If a class-descriptor does not specify its own JDBC Connection,
the Connection specified here will be used. -->
<jdbc-connection-descriptor
platform="PgSQL"
jdbc-level="2.0"
driver="org.postgresql.Driver"
protocol="jdbc"
subprotocol="@OJB_DB_URL@"
dbalias="ccw_java"
username="mimetnet"
password="mimetnet"
/>
<class-descriptor class="com.ccw_java.service.core.model.Organization" table="organization">
<field-descriptor id="1" name="id" column="id" jdbc-type="VARCHAR" primarykey="true" />
<field-descriptor id="2" name="title" column="title" jdbc-type="VARCHAR" />
<field-descriptor id="3" name="description" column="description" jdbc-type="VARCHAR" />
<field-descriptor id="4" name="userLimit" column="user_limit" jdbc-type="INTEGER" />
<field-descriptor id="5" name="accountMonths" column="account_months" jdbc-type="INTEGER" />
<field-descriptor id="6" name="accountYears" column="account_years" jdbc-type="INTEGER" />
<field-descriptor id="7" name="timeframeType" column="timeframetype" jdbc-type="VARCHAR" />
</class-descriptor>
<!-- include ojb internal mappings here -->
&internal;
</descriptor-repository>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]