Have a look at your repository.dtd and repository.xml file. They both contain an entry version="0.9.6"
OJB will check these version numbers to see if your configuration files are up to date to avoid weird configuration problems.
solution:
use the files as shipped with the official distribution and add the mapping information for your classes. the best thing to to is is to check the repository.xml against.dtd with a validating editor like xmlspy to detect problems in advance.
cheers, Thomas
Met @ Uber wrote:
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]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
