You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by to...@apache.org on 2005/10/03 14:20:15 UTC
cvs commit: db-ojb/src/test/org/apache/ojb repository.dtd
tomdz 2005/10/03 05:20:15
Modified: src/test/org/apache/ojb repository.dtd
Log:
Replaced tabs by spaces
Unified indentation
Revision Changes Path
1.67 +721 -716 db-ojb/src/test/org/apache/ojb/repository.dtd
Index: repository.dtd
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/repository.dtd,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- repository.dtd 1 Oct 2005 13:50:34 -0000 1.66
+++ repository.dtd 3 Oct 2005 12:20:15 -0000 1.67
@@ -16,450 +16,449 @@
# */
-->
<!--
- ObJectRelationalBridge - Bridging Java objects and relational dabatases
- This DTD describes the grammar of the Descriptor repository
- Author: Thomas Mahler, (c) 2000-2005
+ ObJectRelationalBridge - Bridging Java objects and relational dabatases
+ This DTD describes the grammar of the Descriptor repository
+ Author: Thomas Mahler, (c) 2000-2005
-->
<!--
- 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 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 attribute element allows to add custom attributes.
+ The attribute element allows to add custom attributes.
- The jdbc-connection-descriptor element specifies the default jdbc
- connection for the repository.
+ The jdbc-connection-descriptor element specifies the default and optional
+ jdbc connections for the repository.
- class-descriptor elements specify o/r mapping information for
- persistent classes.
+ class-descriptor elements specify o/r mapping information for
+ persistent classes.
-->
<!ELEMENT descriptor-repository (documentation?, attribute*,
jdbc-connection-descriptor*, class-descriptor*)>
<!--
- 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.
-
- The isolation-level attribute defines the default locking isolation level used
- by OJB's pessimistic locking api. All jdbc-connection-descriptor or class-descriptor
- that do not define a specific isolation level will use this.
- Note: This does NOT touch the jdbc-level of the connection.
+ 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.
+
+ The isolation-level attribute defines the default locking isolation level used
+ by OJB's pessimistic locking api. All jdbc-connection-descriptor or class-descriptor
+ that do not define a specific isolation level will use this.
+ Note: This does NOT touch the jdbc-level of the connection.
-->
<!ATTLIST descriptor-repository
- version (1.1) #REQUIRED
- isolation-level (read-uncommitted | read-committed | repeatable-read |
- serializable | optimistic | no-lock) "read-uncommitted"
- proxy-prefetching-limit CDATA "50"
+ version (1.1) #REQUIRED
+ isolation-level (read-uncommitted | read-committed | repeatable-read |
+ serializable | optimistic | no-lock) "read-uncommitted"
+ proxy-prefetching-limit CDATA "50"
>
<!--
- The documentation element can be used to store arbitrary
- information on all repository entries.
+ The documentation element can be used to store arbitrary
+ information on all repository entries.
-->
<!ELEMENT documentation (#PCDATA)>
<!--
- The attribute element allows to add custom attributes.
+ The attribute element allows to add custom attributes.
- The jdbc-connection-descriptor element specifies the a jdbc
- connection for the repository.
+ The jdbc-connection-descriptor element specifies the a jdbc
+ connection for the repository.
- The object-cache element specifies the object-cache implementation
- class associated with this class.
+ The object-cache element specifies the object-cache implementation
+ class associated with this class.
- A connection-factory element may be used to define connection pool
- properties for the specified JDBC connection.
+ A connection-factory element may be used to define connection pool
+ properties for the specified JDBC connection.
- A sequence-manager element may be used to
- define which sequence manager implementation should be used within
- the defined connection.
+ A sequence-manager element may be used to
+ define which sequence manager implementation should be used within
+ the defined connection.
-->
<!ELEMENT jdbc-connection-descriptor (documentation?, connection-factory?,
batch?, object-cache?, sequence-manager?, attribute*)>
<!--
- The jcdAlias attribute is a shortcut name for the defined connection
- descriptor. OJB use jcdAlias as key for the defined connections.
-
- The default-connection attribute used to define if this connection
- should used as default connection with OJB. You could define only
- one connection as default connection. It is also possible to set
- the default connection at runtime using
- PersistenceBrokerFactory#setDefaultKey(...) method.
- If set 'true' you could use on PB-api a shortcut-method of the
- PersistenceBrokerFactory to lookup PersistenceBroker instances.
-
- 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.
-
- The eager-release attribute was adopt to solve a problem occured when
- using OJB within JBoss (3.0 <= version < 3.2.2, seems to be fixed in jboss 3.2.2).
- Only use within JBoss.
-
- The batch-mode attribute allow to enable JDBC connection batch support
- (if supported by used database), 'true' value allows to enable per-session
- batch mode, whereas 'false' prohibits it.
- PB.serviceConnectionManager.setBatchMode(...) method can be used
- to switch on/off batch modus, if batch-mode was enabled. On PB.close()
- OJB switch off batch modus, thus you have to do '...setBatchMode(true)' on each
- obtained PB instance.
-
- The useAutoCommit attribute allow to set how OJB uses
- the autoCommit state of the used connections. The default mode
- was 1.
- 0 - OJB ignores the autoCommit setting of the connection and do not
- try to change it. This mode could be helpfully if the
- connection don't let you set the autoCommit state
- (e.g. using datasources from application server).
- 1 - [default mode] set the connection's autoCommit state temporary to 'false' if needed
- (when using transaction) and restore the old state after use. In
- versions before OJB 1.0.4 the autoCommit state was explicit set 'true'
- when connection was created, now OJB expect that this was done by
- the jdbc-driver configuration. To enable old behavior set a custom attribute
- 'initializationCheck' to 'true'.
- 2 - this setting set autoCommit explicit 'false' when connection was created.
-
- If the ignoreAutoCommitExceptions attribute is set 'true', all
- exceptions caused by setting autocommit state, will be ignored.
- Default mode 'false'.
-
- 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 could pass user/password
- using PBKey.java to obtain a PersistenceBroker
+ The jcdAlias attribute is a shortcut name for the defined connection
+ descriptor. OJB use jcdAlias as key for the defined connections.
+
+ The default-connection attribute used to define if this connection
+ should used as default connection with OJB. You could define only
+ one connection as default connection. It is also possible to set
+ the default connection at runtime using
+ PersistenceBrokerFactory#setDefaultKey(...) method.
+ If set 'true' you could use on PB-api a shortcut-method of the
+ PersistenceBrokerFactory to lookup PersistenceBroker instances.
+
+ 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.
+
+ The eager-release attribute was adopt to solve a problem occured when
+ using OJB within JBoss (3.0 <= version < 3.2.2, seems to be fixed in jboss 3.2.2).
+ Only use within JBoss.
+
+ The batch-mode attribute allow to enable JDBC connection batch support
+ (if supported by used database), 'true' value allows to enable per-session
+ batch mode, whereas 'false' prohibits it.
+ PB.serviceConnectionManager.setBatchMode(...) method can be used
+ to switch on/off batch modus, if batch-mode was enabled. On PB.close()
+ OJB switch off batch modus, thus you have to do '...setBatchMode(true)' on each
+ obtained PB instance.
+
+ The useAutoCommit attribute allow to set how OJB uses
+ the autoCommit state of the used connections. The default mode
+ was 1.
+ 0 - OJB ignores the autoCommit setting of the connection and do not
+ try to change it. This mode could be helpfully if the
+ connection don't let you set the autoCommit state
+ (e.g. using datasources from application server).
+ 1 - [default mode] set the connection's autoCommit state temporary to 'false' if needed
+ (when using transaction) and restore the old state after use. In
+ versions before OJB 1.0.4 the autoCommit state was explicit set 'true'
+ when connection was created, now OJB expect that this was done by
+ the jdbc-driver configuration. To enable old behavior set a custom attribute
+ 'initializationCheck' to 'true'.
+ 2 - this setting set autoCommit explicit 'false' when connection was created.
+
+ If the ignoreAutoCommitExceptions attribute is set 'true', all
+ exceptions caused by setting autocommit state, will be ignored.
+ Default mode 'false'.
+
+ 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 could pass user/password
+ using PBKey.java to obtain a PersistenceBroker
-->
<!ATTLIST jdbc-connection-descriptor
- jcd-alias CDATA #REQUIRED
- default-connection (true | false) "false"
- platform (Db2 | Hsqldb | Informix | MsAccess | MsSQLServer |
- MySQL | Oracle | PostgreSQL | Sybase | SybaseASE |
+ jcd-alias CDATA #REQUIRED
+ default-connection (true | false) "false"
+ platform (Db2 | Hsqldb | Informix | MsAccess | MsSQLServer |
+ MySQL | Oracle | PostgreSQL | Sybase | SybaseASE |
SybaseASA | Sapdb | Firebird | Axion | NonstopSql |
Oracle9i | MaxDB ) "Hsqldb"
- jdbc-level (1.0 | 2.0 | 3.0) "1.0"
- batch-mode (true | false) "false"
- useAutoCommit (0 | 1 | 2) "1"
- ignoreAutoCommitExceptions (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
+ jdbc-level (1.0 | 2.0 | 3.0) "1.0"
+ batch-mode (true | false) "false"
+ useAutoCommit (0 | 1 | 2) "1"
+ ignoreAutoCommitExceptions (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 object-cache element can be used to specify the ObjectCache
- implementation used by OJB. There are three levels of
- declaration:
- 1. in OJB.properties file, to declare the standard (default)
- ObjectCache implementation.
- 2. on jdbc-connection-descriptor level, to declare ObjectCache implementation
- on a per connection/user level
- 3. on class-descriptor level, to declare ObjectCache implementation
- on a per class level
-
- The priority of the declared object-cache elements are:
- per class > per jdbc descriptor > standard
-
- E.g. if you declare ObjectCache 'cacheDef' as standard, set
- ObjectCache 'cacheA' in class-descriptor for class A and class B
- does not declare an object-cache element. Then OJB use cacheA as ObjectCache
- for class A and cacheDef for class B
+ The object-cache element can be used to specify the ObjectCache
+ implementation used by OJB. There are three levels of
+ declaration:
+ 1. in OJB.properties file, to declare the standard (default)
+ ObjectCache implementation.
+ 2. on jdbc-connection-descriptor level, to declare ObjectCache implementation
+ on a per connection/user level
+ 3. on class-descriptor level, to declare ObjectCache implementation
+ on a per class level
+
+ The priority of the declared object-cache elements are:
+ per class > per jdbc descriptor > standard
+
+ E.g. if you declare ObjectCache 'cacheDef' as standard, set
+ ObjectCache 'cacheA' in class-descriptor for class A and class B
+ does not declare an object-cache element. Then OJB use cacheA as ObjectCache
+ for class A and cacheDef for class B
-->
<!ELEMENT object-cache (documentation?, attribute*)>
<!--
- Attribute 'class' specifies the full qualified class name of
- the used ObjectCache implementation.
+ Attribute 'class' specifies the full qualified class name of
+ the used ObjectCache implementation.
-->
<!ATTLIST object-cache
- class CDATA #IMPLIED
- strategy CDATA #IMPLIED
+ class CDATA #IMPLIED
+ strategy CDATA #IMPLIED
>
<!--
- The batch element specifies the used batch manger and -strategy.
+ The batch element specifies the used batch manger and -strategy.
-->
<!ELEMENT batch (documentation?, attribute*)>
<!--
- The 'class' attribute specifies the full qualified class name of
- the used BatchManager implementation.
+ The 'class' attribute specifies the full qualified class name of
+ the used BatchManager implementation.
- The 'strategy' attribute specifies the full qualified class name of
- the used BatchStrategy implementation.
+ The 'strategy' attribute specifies the full qualified class name of
+ the used BatchStrategy implementation.
- The 'limit' attribute specifies the maximum allowed number of
- batch entries. If the maximum is reached all batch statements
- will be executed.
+ The 'limit' attribute specifies the maximum allowed number of
+ batch entries. If the maximum is reached all batch statements
+ will be executed.
- The 'validator' attribute specifies the class used to validate
- the batch statement execution return value array.
+ The 'validator' attribute specifies the class used to validate
+ the batch statement execution return value array.
-->
<!ATTLIST batch
- class CDATA #IMPLIED
- strategy CDATA #IMPLIED
- limit CDATA #IMPLIED
- validator CDATA #IMPLIED
+ class CDATA #IMPLIED
+ strategy CDATA #IMPLIED
+ limit CDATA #IMPLIED
+ validator CDATA #IMPLIED
>
<!--
- The connection-factory element specifies the connection factory used
- to manage the connections.
+ The connection-factory element specifies the connection factory used
+ to manage the connections.
-->
<!ELEMENT connection-factory (documentation?, attribute*)>
<!--
- The 'class' attribute specifies the full qualified class name of
- the used ConnectionFactory implementation.
+ The 'class' attribute specifies the full qualified class name of
+ the used ConnectionFactory implementation.
- validationQuery
- Here you could specify a validation query used by pool to test a
- obtained connection (e.g. "select 1 from dual"), else a default query was
- used - if defined in the platform class for your database.
+ validationQuery
+ Here you could specify a validation query used by pool to test a
+ obtained connection (e.g. "select 1 from dual"), else a default query was
+ used - if defined in the platform class for your database.
-->
<!ATTLIST connection-factory
- class CDATA #IMPLIED
- validationQuery CDATA #IMPLIED
+ class CDATA #IMPLIED
+ validationQuery CDATA #IMPLIED
>
<!--
- The sequence-manager element specifies the sequence
- manager implementation used for key generation. All
- sequence manager implementations shipped with OJB
- you will find under org.apache.ojb.broker.util.sequence
- If no sequence-manager is defined, OJB use a default one.
- For configuration examples please consult documentation.
+ The sequence-manager element specifies the sequence
+ manager implementation used for key generation. All
+ sequence manager implementations shipped with OJB
+ you will find under org.apache.ojb.broker.util.sequence
+ If no sequence-manager is defined, OJB use a default one.
+ For configuration examples please consult documentation.
- Use the attribute element to pass implementation specific
- properties. This depends on the used implementation class.
+ Use the attribute element to pass implementation specific
+ properties. This depends on the used implementation class.
-->
<!ELEMENT sequence-manager (documentation?, attribute*)>
<!--
- The 'class' attribute specifies the full qualified class name
- of the desired sequence manager implementation - it is mandatory
- when using the sequence-manager element.
- All sequence manager implementations you find will under
- org.apache.ojb.broker.util.sequence package named as SequenceManagerXXXImpl.
- For configuration examples please consult documentation.
+ The 'class' attribute specifies the full qualified class name
+ of the desired sequence manager implementation - it is mandatory
+ when using the sequence-manager element.
+ All sequence manager implementations you find will under
+ org.apache.ojb.broker.util.sequence package named as SequenceManagerXXXImpl.
+ For configuration examples please consult documentation.
-->
<!ATTLIST sequence-manager
- class CDATA #IMPLIED
+ class CDATA #IMPLIED
>
<!--
- For interfaces or abstract classes a class-descriptor holds a sequence of
- extent-class elements.
+ 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
+ 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.
+ 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.
+ A class-descriptor may contain user defined custom attribute elements.
- The insert-procedure, update-procedure and delete-procedure elements
- identify the procedure/function that is defined in the database which
- will handle the insertion, update or deletion of an instance of this
- class. These elements are all optional. If they are absent then basic
- sql statements (INSERT INTO xxx..., UPDATE xxx, DELETE FROM xxx) will
- be utilized.
-
- The select-by-pk-procedure specifies the database procedure to be used
- when objects of this class shall be retrieved by identity (i.e. by the
- primary key values). Likewise, the select-by-fk-procedure is used for
- retrieving objects of this class that based on foreignkey field values
- in the object. This for instance is the case when fetching the elements
- of a collection.
+ The insert-procedure, update-procedure and delete-procedure elements
+ identify the procedure/function that is defined in the database which
+ will handle the insertion, update or deletion of an instance of this
+ class. These elements are all optional. If they are absent then basic
+ sql statements (INSERT INTO xxx..., UPDATE xxx, DELETE FROM xxx) will
+ be utilized.
+
+ The select-by-pk-procedure specifies the database procedure to be used
+ when objects of this class shall be retrieved by identity (i.e. by the
+ primary key values). Likewise, the select-by-fk-procedure is used for
+ retrieving objects of this class that based on foreignkey field values
+ in the object. This for instance is the case when fetching the elements
+ of a collection.
-->
<!ELEMENT class-descriptor
- ((documentation?, object-cache?, extent-class+, attribute*) |
- (documentation?, object-cache?, extent-class*, creation-descriptor?, discriminator-descriptor?,
- field-descriptor+, reference-descriptor*, collection-descriptor*,
+ ((documentation?, object-cache?, extent-class+, attribute*) |
+ (documentation?, object-cache?, extent-class*, creation-descriptor?, discriminator-descriptor?,
+ field-descriptor+, reference-descriptor*, collection-descriptor*,
index-descriptor*, insert-procedure?, update-procedure?, delete-procedure?,
select-by-pk-procedure?, select-by-fk-procedure?, 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 defines the locking isolation level of the
- specified class (used by OJB's pessimistic locking api). Default is "global"
- to signal the use of the isolation-level defined on "descriptor-repository" level.
- Note: This does NOT touch the jdbc-level of the connection.
-
- 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.
-
- If the proxy-prefetching-limit attribute (used with the proxy attribute)
- is set to the value > 0, the collections of objects of this class are materialized
- by groups of the specified size, say when user tries to access the first
- object of the collection, next proxy-prefetching-limit objects are loaded
- by one database query.
- Set this parameter to 0 if you want to turn this feature off.
-
- The schema attribute may contain the database schema owning the table
- mapped to this class.
-
- The table attribute specifies 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 extends attribute is deprecated and will be removed or reintroduced
- with changed funcitonality in future. DON'T USE IT!
-
- The accept-locks attribute specifies whether implicit locking should
- propagate to this class. Currently relevant for the ODMG layer only.
-
- The optional initialization-method specifies a no-argument instance
- method that is invoked after reading an instance from a database row.
- It can be used to do initialization and validations.
-
- The optional factory-class specifies a factory-class that
- that is to be used instead of a no argument constructor.
- If the factory-class is specified the factory-method
- also must be defined.
- factory-method refers to a static no-argument method
- of the factory-class class.
-
- The refresh attribute can be set to true to force OJB to refresh
- instances when loaded from cache. It's set to false by default.
-
- The 'batchable' attribute signal whether or not it is allowed to bunch this class
- in a sql-batch. Note: Be aware of side-effects when mix batchable
- and non batchable classes, e.g. class non batchable, reference batchable
- - mixing is not allowed for all sorts of references. A non-batchable object
- will immediately performed, other objects in batch will stand still.
+ 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 defines the locking isolation level of the
+ specified class (used by OJB's pessimistic locking api). Default is "global"
+ to signal the use of the isolation-level defined on "descriptor-repository" level.
+ Note: This does NOT touch the jdbc-level of the connection.
+
+ 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.
+
+ If the proxy-prefetching-limit attribute (used with the proxy attribute)
+ is set to the value > 0, the collections of objects of this class are materialized
+ by groups of the specified size, say when user tries to access the first
+ object of the collection, next proxy-prefetching-limit objects are loaded
+ by one database query.
+ Set this parameter to 0 if you want to turn this feature off.
+
+ The schema attribute may contain the database schema owning the table
+ mapped to this class.
+
+ The table attribute specifies 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 extends attribute is deprecated and will be removed or reintroduced
+ with changed funcitonality in future. DON'T USE IT!
+
+ The accept-locks attribute specifies whether implicit locking should
+ propagate to this class. Currently relevant for the ODMG layer only.
+
+ The optional initialization-method specifies a no-argument instance
+ method that is invoked after reading an instance from a database row.
+ It can be used to do initialization and validations.
+
+ The optional factory-class specifies a factory-class that
+ that is to be used instead of a no argument constructor.
+ If the factory-class is specified the factory-method
+ also must be defined.
+ factory-method refers to a static no-argument method
+ of the factory-class class.
+
+ The refresh attribute can be set to true to force OJB to refresh
+ instances when loaded from cache. It's set to false by default.
+
+ The 'batchable' attribute signal whether or not it is allowed to bunch this class
+ in a sql-batch. Note: Be aware of side-effects when mix batchable
+ and non batchable classes, e.g. class non batchable, reference batchable
+ - mixing is not allowed for all sorts of references. A non-batchable object
+ will immediately performed, other objects in batch will stand still.
-->
<!ATTLIST class-descriptor
- class ID #REQUIRED
- isolation-level (read-uncommitted | read-committed | repeatable-read |
- serializable | optimistic | no-lock | global) "global"
- proxy CDATA #IMPLIED
- proxy-prefetching-limit CDATA #IMPLIED
- schema CDATA #IMPLIED
- table CDATA #IMPLIED
- row-reader CDATA #IMPLIED
- extends IDREF #IMPLIED
- accept-locks (true | false) "true"
- initialization-method CDATA #IMPLIED
- factory-class CDATA #IMPLIED
- factory-method CDATA #IMPLIED
- refresh (true | false) "false"
- batchable (true | false) "true"
+ class ID #REQUIRED
+ isolation-level (read-uncommitted | read-committed | repeatable-read |
+ serializable | optimistic | no-lock | global) "global"
+ proxy CDATA #IMPLIED
+ proxy-prefetching-limit CDATA #IMPLIED
+ schema CDATA #IMPLIED
+ table CDATA #IMPLIED
+ row-reader CDATA #IMPLIED
+ extends IDREF #IMPLIED
+ accept-locks (true | false) "true"
+ initialization-method CDATA #IMPLIED
+ factory-class CDATA #IMPLIED
+ factory-method CDATA #IMPLIED
+ refresh (true | false) "false"
+ batchable (true | false) "true"
>
<!--
- 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.
+ 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 (documentation?)>
<!--
- The class-ref attribute must contain a fully qualified classname.
- The repository file must contain a class-descriptor for this class.
+ 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
+ class-ref IDREF #REQUIRED
>
<!--
- Describes how to create instances for the owning class descriptor.
+ Describes how to create instances for the owning class descriptor.
-->
<!ELEMENT creation-descriptor (documentation?, parameter*)>
<!--
The type specifies whether the instances are created via constructors or a factory.
- The factory-class attribute specifies a factory class that that is to be used for creation.
- This attribute is ignored if the type is 'constructor'.
+ The factory-class attribute specifies a factory class that that is to be used for creation.
+ This attribute is ignored if the type is 'constructor'.
- If the factory-class is specified, the factory-method attribute also must be defined which
- specifies the instance or static method for creating the instance. If the method is a
- non-static method, then the factory class must be creatable via a no-args or default constructor.
+ If the factory-class is specified, the factory-method attribute also must be defined which
+ specifies the instance or static method for creating the instance. If the method is a
+ non-static method, then the factory class must be creatable via a no-args or default constructor.
-->
<!ATTLIST creation-descriptor
- type (constructor | factory) #REQUIRED
- factory-class CDATA #IMPLIED
- factory-method CDATA #IMPLIED
+ type (constructor | factory) #REQUIRED
+ factory-class CDATA #IMPLIED
+ factory-method CDATA #IMPLIED
>
<!--
- Specifies a parameter for the constructor/factory method. Such a parameter either
- refers to a field whose value is used as the argument, or a constant value which
- must be convertible to the type of the parameter.
+ Specifies a parameter for the constructor/factory method. Such a parameter either
+ refers to a field whose value is used as the argument, or a constant value which
+ must be convertible to the type of the parameter.
-->
<!ELEMENT parameter EMPTY>
<!--
- field-ref specifies the field in the owning class descriptor that gives the value.
+ field-ref specifies the field in the owning class descriptor that gives the value.
- value specifies the constant value to be used as the argument.
+ value specifies the constant value to be used as the argument.
- type allows to specify the parameter type which helps OJB in determining the
- constructor/method. For primitive types, simply state the type, eg. int or char[].
- For reference type, specify the fully qualified type name, for instance
- java.lang.Object or java.lang.String[][].
+ type allows to specify the parameter type which helps OJB in determining the
+ constructor/method. For primitive types, simply state the type, eg. int or char[].
+ For reference type, specify the fully qualified type name, for instance
+ java.lang.Object or java.lang.String[][].
-->
<!ATTLIST parameter
- field-ref CDATA #IMPLIED
- value CDATA #IMPLIED
- type CDATA #IMPLIED
+ field-ref CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type CDATA #IMPLIED
>
<!--
- The discriminator is used to discriminate the classes when multiple classes
- are mapped to the same table.
+ The discriminator is used to discriminate the classes when multiple classes
+ are mapped to the same table.
-->
<!ELEMENT discriminator-descriptor (documentation?, attribute*)>
<!--
- The optional value attribute may be used to set a discriminator ie. 'my_class_a'.
- The default for this attribute is the name of the class taken
- from the class-descriptor ie 'com.myself.MyClassMappedToA'.
+ The optional value attribute may be used to set a discriminator ie. 'my_class_a'.
+ The default for this attribute is the name of the class taken
+ from the class-descriptor ie 'com.myself.MyClassMappedToA'.
-->
<!ATTLIST discriminator-descriptor
- 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 | STRUCT |
+ 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 | STRUCT |
ARRAY | REF | BOOLEAN | DATALINK) #IMPLIED
- value CDATA #IMPLIED
- primarykey (true | false) "false"
+ value CDATA #IMPLIED
+ primarykey (true | false) "false"
>
<!--
@@ -470,106 +469,106 @@
-->
<!ELEMENT field-descriptor (documentation?, attribute*)>
<!--
- <b>The id attribute is optional.</b> If not specified, OJB internally
- sorts field-descriptors according to their order of appearance in the
- repository file.
- If a different sort order is intended the id attribute may be used to
- hold a unique number identifying the decriptors position in the sequence of
- field-descriptors.
- The order of the numbers for the field-descriptors 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 persistent classes field
- is mapped to.
-
- The optional jdbc-type attribute specifies the JDBC type of the column.
- If not specified OJB tries to identify the JDBC type by inspecting the
- Java attribute by reflection.
-
- 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 sequence-name attribute can be used to state explicitly a sequence
- name used by the sequence manager implementations. Check the docs/javadocs
- of the used sequence manager implementation to get information if this
- is a mandatory attribute. OJB standard sequence manager implementations
- build a sequence name by its own, if the attribute was not set.
-
- 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 update-lock attribute is set to false if the persistent attribute is
- used for optimistic locking AND the dbms should update the lock column
- itself. The default is true which means that when locking is true then
- OJB will update the locking fields. 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 scale setting, if
- required by the jdbc-type of the underlying database column.
-
- The access attribute specifies the accessibility of the field.
- "readonly" marks fields that are not to modified. "readwrite" marks
- fields that may be read and written to. "anonymous" marks anonymous fields.
- An anonymous field has a database representation (column) but no
- corresponding Java attribute. Hence the name of such a field does not
- refer to a Java attribute of the class, but is used as a unique
- identifier only.
+ <b>The id attribute is optional.</b> If not specified, OJB internally
+ sorts field-descriptors according to their order of appearance in the
+ repository file.
+ If a different sort order is intended the id attribute may be used to
+ hold a unique number identifying the decriptors position in the sequence of
+ field-descriptors.
+ The order of the numbers for the field-descriptors 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 persistent classes field
+ is mapped to.
+
+ The optional jdbc-type attribute specifies the JDBC type of the column.
+ If not specified OJB tries to identify the JDBC type by inspecting the
+ Java attribute by reflection.
+
+ 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 sequence-name attribute can be used to state explicitly a sequence
+ name used by the sequence manager implementations. Check the docs/javadocs
+ of the used sequence manager implementation to get information if this
+ is a mandatory attribute. OJB standard sequence manager implementations
+ build a sequence name by its own, if the attribute was not set.
+
+ 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 update-lock attribute is set to false if the persistent attribute is
+ used for optimistic locking AND the dbms should update the lock column
+ itself. The default is true which means that when locking is true then
+ OJB will update the locking fields. 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 scale setting, if
+ required by the jdbc-type of the underlying database column.
+
+ The access attribute specifies the accessibility of the field.
+ "readonly" marks fields that are not to modified. "readwrite" marks
+ fields that may be read and written to. "anonymous" marks anonymous fields.
+ An anonymous field has a database representation (column) but no
+ corresponding Java attribute. Hence the name of such a field does not
+ refer to a Java attribute of the class, but is used as a unique
+ identifier only.
-->
<!ATTLIST field-descriptor
- id CDATA #IMPLIED
- 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 | STRUCT |
- ARRAY | REF | BOOLEAN | DATALINK) #IMPLIED
- primarykey (true | false) "false"
- nullable (true | false) "true"
- indexed (true | false) "false"
- autoincrement (true | false) "false"
- sequence-name CDATA #IMPLIED
- locking (true | false) "false"
- update-lock (true | false) "true"
- default-fetch (true | false) "false"
- conversion CDATA #IMPLIED
- length CDATA #IMPLIED
- precision CDATA #IMPLIED
- scale CDATA #IMPLIED
- access (readonly | readwrite | anonymous) "readwrite"
+ id CDATA #IMPLIED
+ 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 | STRUCT |
+ ARRAY | REF | BOOLEAN | DATALINK) #IMPLIED
+ primarykey (true | false) "false"
+ nullable (true | false) "true"
+ indexed (true | false) "false"
+ autoincrement (true | false) "false"
+ sequence-name CDATA #IMPLIED
+ locking (true | false) "false"
+ update-lock (true | false) "true"
+ default-fetch (true | false) "false"
+ conversion CDATA #IMPLIED
+ length CDATA #IMPLIED
+ precision CDATA #IMPLIED
+ scale CDATA #IMPLIED
+ access (readonly | readwrite | anonymous) "readwrite"
>
@@ -580,444 +579,450 @@
<!ELEMENT attribute (documentation?)>
<!--
- The attribute-name identifies the name of the attribute.
- The attribute-value identifies the value of the attribute.
+ 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
+ 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 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.
+ A foreignkey element contains information on foreign key columns that
+ implement the association on the database level.
- A reference-decriptor may contain user defined attribute elements.
+ A reference-decriptor may contain user defined attribute elements.
-->
<!ELEMENT reference-descriptor (documentation?, foreignkey+, attribute*)>
+
<!--
- 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.
-
- If the proxy-prefetching-limit attribute (used with the proxy attribute)
- is set to the value > 0, then loading of the reference for the first
- object of some collection causes loading of the references for
- the next proxy-prefetching-limit objects.
- Set this parameter to 0 if you want to turn this feature off.
-
- 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 or not or only
- link the reference.
- This attribute must be set to 'false' if using the OTM or JDO layer.
- For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
-
- The auto-delete attribute specifies whether OJB automatically deletes
- this reference attribute on deleting the persistent object or not.
- This attribute must be set to 'false' if using the OTM or JDO layer.
- For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
-
- The otm-dependent attribute specifies whether the OTM layer automatically
- creates the referred object or deletes it if the reference field is set to null.
- Also otm-dependent references behave as if auto-update and auto-delete
- were set to true, but the auto-update and auto-delete attributes themself
- must be always set to false for use with OTM layer.
+ 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.
+
+ If the proxy-prefetching-limit attribute (used with the proxy attribute)
+ is set to the value > 0, then loading of the reference for the first
+ object of some collection causes loading of the references for
+ the next proxy-prefetching-limit objects.
+ Set this parameter to 0 if you want to turn this feature off.
+
+ 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 or not or only
+ link the reference.
+ This attribute must be set to 'false' if using the OTM or JDO layer.
+ For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
+
+ The auto-delete attribute specifies whether OJB automatically deletes
+ this reference attribute on deleting the persistent object or not.
+ This attribute must be set to 'false' if using the OTM or JDO layer.
+ For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
+
+ The otm-dependent attribute specifies whether the OTM layer automatically
+ creates the referred object or deletes it if the reference field is set to null.
+ Also otm-dependent references behave as if auto-update and auto-delete
+ were set to true, but the auto-update and auto-delete attributes themself
+ must be always set to false for use with OTM layer.
-->
<!ATTLIST reference-descriptor
- name CDATA #REQUIRED
- class-ref IDREF #REQUIRED
+ name CDATA #REQUIRED
+ class-ref IDREF #REQUIRED
- proxy (true | false) "false"
- proxy-prefetching-limit CDATA #IMPLIED
- refresh (true | false) "false"
+ proxy (true | false) "false"
+ proxy-prefetching-limit CDATA #IMPLIED
+ refresh (true | false) "false"
- auto-retrieve (true | false) "true"
- auto-update (none | link | object | true | false) "false"
- auto-delete (none | link | object | true | false) "false"
- otm-dependent (true | false) "false"
+ auto-retrieve (true | false) "true"
+ auto-update (none | link | object | true | false) "false"
+ auto-delete (none | link | object | true | false) "false"
+ otm-dependent (true | false) "false"
>
<!--
- A foreignkey element contains information on a foreign-key persistent
- attribute that implement the association on the database level.
+ A foreignkey element contains information on a foreign-key persistent
+ attribute that implement the association on the database level.
-->
<!ELEMENT foreignkey (documentation?)>
+
<!--
- The field-id-ref contains the id attribute of the field-descriptor
- used as a foreign key.
+ The field-id-ref contains the id attribute of the field-descriptor
+ used as a foreign key.
-->
<!ATTLIST foreignkey
- field-id-ref CDATA #IMPLIED
- field-ref CDATA #IMPLIED
- target-field-ref CDATA #IMPLIED
+ field-id-ref CDATA #IMPLIED
+ field-ref CDATA #IMPLIED
+ target-field-ref CDATA #IMPLIED
>
<!--
- A collection-descriptor contains mapping info for a Collection- or
- Array-attribute of a persistent class that contains persistent
- entity Objects.
+ 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 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.
+ 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.
- A collection-descriptor may contain user defined attribute elements.
+ A collection-descriptor may contain user defined attribute elements.
-->
<!ELEMENT collection-descriptor (
- documentation?,
- orderby*,
- inverse-foreignkey*,
- fk-pointing-to-this-class*,
- fk-pointing-to-element-class*,
- query-customizer?,
- attribute*)>
-
-
-<!--
- 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 declared
- (none java.util.Collection or non Array) class must implement
- ManageableCollection to let OJB handle this type of collection.
-
- 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.
-
- If the proxy-prefetching-limit attribute (used with the proxy attribute)
- is set to the value > 0, then loading of the collection for the first
- object of some other collection causes loading of the collections for
- the next proxy-prefetching-limit objects.
- Set this parameter to 0 if you want to turn this feature off.
-
- 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
- the referenced objects on storing the persistent object or not or only link.
- This attribute must be set to 'false' if using the OTM or JDO layer.
- For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
-
- The auto-delete attribute specifies whether OJB automatically deletes
- the referenced objects on deleting the persistent object or not.
- This attribute must be set to 'false' if using the OTM or JDO layer.
- For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
-
- The otm-dependent attribute specifies whether the OTM layer automatically
- creates collection elements that were included into the collectionelements
- and deletes collection elements that were excluded from the collection.
- Also otm-dependent references behave as if auto-update and auto-delete
- were set to true, but the auto-update and auto-delete attributes themself
- must be always set to false for use with OTM layer.
+ documentation?,
+ orderby*,
+ inverse-foreignkey*,
+ fk-pointing-to-this-class*,
+ fk-pointing-to-element-class*,
+ query-customizer?,
+ attribute*)>
+
+
+<!--
+ 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 declared
+ (none java.util.Collection or non Array) class must implement
+ ManageableCollection to let OJB handle this type of collection.
+
+ 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.
+
+ If the proxy-prefetching-limit attribute (used with the proxy attribute)
+ is set to the value > 0, then loading of the collection for the first
+ object of some other collection causes loading of the collections for
+ the next proxy-prefetching-limit objects.
+ Set this parameter to 0 if you want to turn this feature off.
+
+ 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
+ the referenced objects on storing the persistent object or not or only link.
+ This attribute must be set to 'false' if using the OTM or JDO layer.
+ For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
+
+ The auto-delete attribute specifies whether OJB automatically deletes
+ the referenced objects on deleting the persistent object or not.
+ This attribute must be set to 'false' if using the OTM or JDO layer.
+ For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
+
+ The otm-dependent attribute specifies whether the OTM layer automatically
+ creates collection elements that were included into the collectionelements
+ and deletes collection elements that were excluded from the collection.
+ Also otm-dependent references behave as if auto-update and auto-delete
+ were set to true, but the auto-update and auto-delete attributes themself
+ must be always set to false for use with OTM layer.
-->
<!ATTLIST collection-descriptor
- name CDATA #IMPLIED
- collection-class CDATA #IMPLIED
- element-class-ref IDREF #REQUIRED
- orderby CDATA #IMPLIED
- sort (ASC | DESC) "ASC"
+ name CDATA #IMPLIED
+ collection-class CDATA #IMPLIED
+ element-class-ref IDREF #REQUIRED
+ orderby CDATA #IMPLIED
+ sort (ASC | DESC) "ASC"
- indirection-table CDATA #IMPLIED
+ indirection-table CDATA #IMPLIED
- proxy (true | false) "false"
- proxy-prefetching-limit CDATA #IMPLIED
- refresh (true | false) "false"
+ proxy (true | false) "false"
+ proxy-prefetching-limit CDATA #IMPLIED
+ refresh (true | false) "false"
- auto-retrieve (true | false) "true"
- auto-update (none | link | object | true | false) "false"
- auto-delete (none | link | object | true | false) "false"
- otm-dependent (true | false) "false"
+ auto-retrieve (true | false) "true"
+ auto-update (none | link | object | true | false) "false"
+ auto-delete (none | link | object | true | false) "false"
+ otm-dependent (true | false) "false"
>
<!--
- an OrderBy elemnent contains an attribute name and a sort order
+ An orderby elemnent contains an attribute name and a sort order
-->
<!ELEMENT orderby (documentation?)>
<!ATTLIST orderby
- name CDATA #REQUIRED
- sort (ASC | DESC) "ASC"
+ name CDATA #REQUIRED
+ sort (ASC | DESC) "ASC"
>
<!--
- A inverse-foreignkey element contains information on a foreign-key
- persistent attribute that implement the association on the database level.
+ A inverse-foreignkey element contains information on a foreign-key
+ persistent attribute that implement the association on the database level.
-->
<!ELEMENT inverse-foreignkey (documentation?)>
+
<!--
- 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.
+ 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 #IMPLIED
- field-ref CDATA #IMPLIED
- target-field-ref CDATA #IMPLIED
+ field-id-ref CDATA #IMPLIED
+ field-ref CDATA #IMPLIED
+ target-field-ref CDATA #IMPLIED
>
<!--
- A fk-pointing-to-this-class element contains information on a foreign-key
- column of an intermediary table in a m:n scenario.
+ 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 (documentation?)>
+
<!--
- The column attribute specifies the foreign-key column in the intermediary
- table that points to the class holding the collection.
+ 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
+ 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.
+ 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 (documentation?)>
+
<!--
- The column attribute specifies the foreign-key column in the intermediary
- table that points to the class of the collection elements.
+ 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
+ column CDATA #REQUIRED
>
<!--
- a queryEnhancer element to enhance the 1:n query
+ A queryEnhancer element to enhance the 1:n query
-->
<!ELEMENT query-customizer (
- documentation?,
- attribute*)>
+ documentation?,
+ attribute*)>
<!ATTLIST query-customizer
- class CDATA #REQUIRED
+ class CDATA #REQUIRED
>
<!--
- An index-descriptor describes an index by listing its columns. It may be
- unique or not.
+ An index-descriptor describes an index by listing its columns. It may be
+ unique or not.
-->
<!ELEMENT index-descriptor (documentation?, index-column+)>
<!ATTLIST index-descriptor
- name CDATA #REQUIRED
- unique (true | false) "false">
+ name CDATA #REQUIRED
+ unique (true | false) "false">
<!--
- An index-column is just the name of a column in an index.
+ An index-column is just the name of a column in an index.
-->
<!ELEMENT index-column (documentation?)>
<!ATTLIST index-column
- name CDATA #REQUIRED>
+ name CDATA #REQUIRED>
<!--
- Identifies the procedure/function that should be used to handle
- insertions for a specific class-descriptor.
+ Identifies the procedure/function that should be used to handle
+ insertions for a specific class-descriptor.
- The nested 'argument' elements define the argument list for the
- procedure/function as well as the source for each argument.
+ The nested 'argument' elements define the argument list for the
+ procedure/function as well as the source for each argument.
- The name attribute identifies the name of the procedure/function to use
-
- The return-field-ref identifies the field-descriptor that will receive
- the value that is returned by the procedure/function. If the procedure/
- function does not include a return value, then do not specify a value
- for this attribute.
-
- The include-all-fields attribute indicates if all field-descriptors in
- the corresponding class-descriptor are to be passed to the procedure/
- function. If include-all-fields is 'true', any nested 'argument'
- elements will be ignored. In this case, values for all field-descriptors
- will be passed to the procedure/function. The order of values that are
- passed to the procedure/function will match the order of field-descriptors
- on the corresponding class-descriptor. If include-all-fields is false,
- then values will be passed to the procedure/function based on the
- information in the nested 'argument' elements.
- -->
+ The name attribute identifies the name of the procedure/function to use
+
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
+
+ The include-all-fields attribute indicates if all field-descriptors in
+ the corresponding class-descriptor are to be passed to the procedure/
+ function. If include-all-fields is 'true', any nested 'argument'
+ elements will be ignored. In this case, values for all field-descriptors
+ will be passed to the procedure/function. The order of values that are
+ passed to the procedure/function will match the order of field-descriptors
+ on the corresponding class-descriptor. If include-all-fields is false,
+ then values will be passed to the procedure/function based on the
+ information in the nested 'argument' elements.
+-->
<!ELEMENT insert-procedure
- (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+ (documentation?, (runtime-argument | constant-argument)*, attribute*)>
<!ATTLIST insert-procedure
- name CDATA #REQUIRED
- return-field-ref CDATA #IMPLIED
- include-all-fields (true | false) "false"
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
+ include-all-fields (true | false) "false"
>
<!--
- Identifies the procedure/function that should be used to handle
- updates for a specific class-descriptor.
-
- The nested 'argument' elements define the argument list for the
- procedure/function as well as the source for each argument.
-
- The name attribute identifies the name of the procedure/function to use
-
- The return-field-ref identifies the field-descriptor that will receive
- the value that is returned by the procedure/function. If the procedure/
- function does not include a return value, then do not specify a value
- for this attribute.
-
- The include-all-fields attribute indicates if all field-descriptors in
- the corresponding class-descriptor are to be passed to the procedure/
- function. If include-all-fields is 'true', any nested 'argument'
- elements will be ignored. In this case, values for all field-descriptors
- will be passed to the procedure/function. The order of values that are
- passed to the procedure/function will match the order of field-descriptors
- on the corresponding class-descriptor. If include-all-fields is false,
- then values will be passed to the procedure/function based on the
- information in the nested 'argument' elements.
- -->
+ Identifies the procedure/function that should be used to handle
+ updates for a specific class-descriptor.
+
+ The nested 'argument' elements define the argument list for the
+ procedure/function as well as the source for each argument.
+
+ The name attribute identifies the name of the procedure/function to use
+
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
+
+ The include-all-fields attribute indicates if all field-descriptors in
+ the corresponding class-descriptor are to be passed to the procedure/
+ function. If include-all-fields is 'true', any nested 'argument'
+ elements will be ignored. In this case, values for all field-descriptors
+ will be passed to the procedure/function. The order of values that are
+ passed to the procedure/function will match the order of field-descriptors
+ on the corresponding class-descriptor. If include-all-fields is false,
+ then values will be passed to the procedure/function based on the
+ information in the nested 'argument' elements.
+-->
<!ELEMENT update-procedure
- (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+ (documentation?, (runtime-argument | constant-argument)*, attribute*)>
<!ATTLIST update-procedure
- name CDATA #REQUIRED
- return-field-ref CDATA #IMPLIED
- include-all-fields (true | false) "false"
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
+ include-all-fields (true | false) "false"
>
<!--
- Identifies the procedure/function that should be used to handle
- deletions for a specific class-descriptor.
-
- The nested 'runtime-argument' and 'constant-argument' elements define
- the argument list for the procedure/function as well as the source
- for each argument.
-
- The name attribute identifies the name of the procedure/function to use
-
- The return-field-ref identifies the field-descriptor that will receive
- the value that is returned by the procedure/function. If the procedure/
- function does not include a return value, then do not specify a value
- for this attribute.
-
- The include-pk-only attribute indicates if all field-descriptors in
- the corresponding class-descriptor that are identified as being part of
- the primary key are to be passed to the procedure/function. If
- include-pk-only is 'true', any nested 'argument' elements will be
- ignored. In this case, values for all field-descriptors that are identified
- as being part of the primary key will be passed to the procedure/function.
- The order of values that are passed to the procedure/function will match
- the order of field-descriptors on the corresponding class-descriptor.
- If include-pk-only is false, then values will be passed to the procedure/
- function based on the information in the nested 'argument' elements.
- -->
+ Identifies the procedure/function that should be used to handle
+ deletions for a specific class-descriptor.
+
+ The nested 'runtime-argument' and 'constant-argument' elements define
+ the argument list for the procedure/function as well as the source
+ for each argument.
+
+ The name attribute identifies the name of the procedure/function to use
+
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
+
+ The include-pk-only attribute indicates if all field-descriptors in
+ the corresponding class-descriptor that are identified as being part of
+ the primary key are to be passed to the procedure/function. If
+ include-pk-only is 'true', any nested 'argument' elements will be
+ ignored. In this case, values for all field-descriptors that are identified
+ as being part of the primary key will be passed to the procedure/function.
+ The order of values that are passed to the procedure/function will match
+ the order of field-descriptors on the corresponding class-descriptor.
+ If include-pk-only is false, then values will be passed to the procedure/
+ function based on the information in the nested 'argument' elements.
+-->
<!ELEMENT delete-procedure
- (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+ (documentation?, (runtime-argument | constant-argument)*, attribute*)>
<!ATTLIST delete-procedure
- name CDATA #REQUIRED
- return-field-ref CDATA #IMPLIED
- include-pk-only (true | false) "false"
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
+ include-pk-only (true | false) "false"
>
+
<!--
- Defines an argument that is passed to a procedure/function. Each argument
- will be set to a value from a field-descriptor or null.
+ Defines an argument that is passed to a procedure/function. Each argument
+ will be set to a value from a field-descriptor or null.
- The field-ref attribute identifies the field-descriptor in the corresponding
- class-descriptor that provides the value for this argument. If this attribute
- is unspecified, then this argument will be set to null.
+ The field-ref attribute identifies the field-descriptor in the corresponding
+ class-descriptor that provides the value for this argument. If this attribute
+ is unspecified, then this argument will be set to null.
-->
<!ELEMENT runtime-argument
- (documentation?, attribute*)>
+ (documentation?, attribute*)>
<!ATTLIST runtime-argument
- field-ref CDATA #IMPLIED
- return (true | false) "false"
+ field-ref CDATA #IMPLIED
+ return (true | false) "false"
>
<!--
- Defines a constant value that is passed to a procedure/function.
+ Defines a constant value that is passed to a procedure/function.
- The value attribute identifies the value that is passed to the procedure/
- function.
+ The value attribute identifies the value that is passed to the procedure/
+ function.
-->
<!ELEMENT constant-argument
- (documentation?, attribute*)>
+ (documentation?, attribute*)>
<!ATTLIST constant-argument
- value CDATA #REQUIRED
+ value CDATA #REQUIRED
>
<!--
- Identifies the procedure/function that should be used to handle
- selects based on the identity (primary key values) for this class
- descriptor.
+ Identifies the procedure/function that should be used to handle
+ selects based on the identity (primary key values) for this class
+ descriptor.
- The return-field-ref identifies the field-descriptor that will receive
- the value that is returned by the procedure/function. If the procedure/
- function does not include a return value, then do not specify a value
- for this attribute.
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
- The name attribute identifies the name of the procedure/function to use
+ The name attribute identifies the name of the procedure/function to use
-->
<!ELEMENT select-by-pk-procedure
- (documentation?, attribute*)>
+ (documentation?, attribute*)>
<!ATTLIST insert-procedure
- name CDATA #REQUIRED
- return-field-ref CDATA #IMPLIED
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
>
<!--
- Identifies the procedure/function that should be used to handle
- selects based on the values of foreign key fields in the objects of
- this type. It will e.g. be used for retrieving collection elements.
+ Identifies the procedure/function that should be used to handle
+ selects based on the values of foreign key fields in the objects of
+ this type. It will e.g. be used for retrieving collection elements.
- The return-field-ref identifies the field-descriptor that will receive
- the value that is returned by the procedure/function. If the procedure/
- function does not include a return value, then do not specify a value
- for this attribute.
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
- The name attribute identifies the name of the procedure/function to use
- -->
+ The name attribute identifies the name of the procedure/function to use
+-->
<!ELEMENT select-by-fk-procedure
- (documentation?, attribute*)>
+ (documentation?, attribute*)>
<!ATTLIST insert-procedure
- name CDATA #REQUIRED
- return-field-ref CDATA #IMPLIED
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org