glassfish 0.1.1-universal-java-1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. data/COPYRIGHT +33 -0
  2. data/LICENSE.txt +263 -0
  3. data/README +12 -0
  4. data/bin/asadmin +7 -0
  5. data/bin/asadmin.bat +8 -0
  6. data/bin/glassfish_rails +40 -0
  7. data/config/asadminenv.conf +6 -0
  8. data/config/asenv.bat +28 -0
  9. data/config/asenv.conf +27 -0
  10. data/config/glassfish.container +4 -0
  11. data/domains/domain1/config/admin-keyfile +3 -0
  12. data/domains/domain1/config/cacerts.jks +0 -0
  13. data/domains/domain1/config/default-web.xml +906 -0
  14. data/domains/domain1/config/domain-passwords +0 -0
  15. data/domains/domain1/config/domain.xml +208 -0
  16. data/domains/domain1/config/keyfile +6 -0
  17. data/domains/domain1/config/keystore.jks +0 -0
  18. data/domains/domain1/config/logging.properties +82 -0
  19. data/domains/domain1/config/login.conf +18 -0
  20. data/domains/domain1/config/server.policy +160 -0
  21. data/domains/domain1/config/sun-acc.xml +40 -0
  22. data/domains/domain1/config/wss-server-config-1.0.xml +86 -0
  23. data/domains/domain1/config/wss-server-config-2.0.xml +94 -0
  24. data/domains/domain1/docroot/favicon.gif +0 -0
  25. data/domains/domain1/docroot/index.html +87 -0
  26. data/domains/domain1/master-password +0 -0
  27. data/lib/appclient/appclientlogin.conf +10 -0
  28. data/lib/appclient/client.policy +79 -0
  29. data/lib/appclient/wss-client-config-1.0.xml +84 -0
  30. data/lib/appclient/wss-client-config-2.0.xml +96 -0
  31. data/lib/dtds/application-client_1_2.dtd +292 -0
  32. data/lib/dtds/application-client_1_3.dtd +506 -0
  33. data/lib/dtds/application_1_2.dtd +197 -0
  34. data/lib/dtds/application_1_3.dtd +312 -0
  35. data/lib/dtds/connector_1_0.dtd +561 -0
  36. data/lib/dtds/ejb-jar_1_1.dtd +894 -0
  37. data/lib/dtds/ejb-jar_2_0.dtd +1671 -0
  38. data/lib/dtds/sun-application-client-container_1_0.dtd +123 -0
  39. data/lib/dtds/sun-application-client-container_1_1.dtd +264 -0
  40. data/lib/dtds/sun-application-client-container_1_2.dtd +267 -0
  41. data/lib/dtds/sun-application-client_1_3-0.dtd +57 -0
  42. data/lib/dtds/sun-application-client_1_4-0.dtd +182 -0
  43. data/lib/dtds/sun-application-client_1_4-1.dtd +431 -0
  44. data/lib/dtds/sun-application-client_5_0-0.dtd +495 -0
  45. data/lib/dtds/sun-application_1_3-0.dtd +30 -0
  46. data/lib/dtds/sun-application_1_4-0.dtd +44 -0
  47. data/lib/dtds/sun-application_5_0-0.dtd +51 -0
  48. data/lib/dtds/sun-cmp-mapping_1_0.dtd +100 -0
  49. data/lib/dtds/sun-cmp-mapping_1_1.dtd +99 -0
  50. data/lib/dtds/sun-cmp-mapping_1_2.dtd +106 -0
  51. data/lib/dtds/sun-connector_1_0-0.dtd +66 -0
  52. data/lib/dtds/sun-connector_1_5-0.dtd +62 -0
  53. data/lib/dtds/sun-domain_1_0.dtd +2007 -0
  54. data/lib/dtds/sun-domain_1_1.dtd +3080 -0
  55. data/lib/dtds/sun-domain_1_2.dtd +3697 -0
  56. data/lib/dtds/sun-domain_1_3.dtd +3867 -0
  57. data/lib/dtds/sun-ejb-jar_2_0-0.dtd +449 -0
  58. data/lib/dtds/sun-ejb-jar_2_0-1.dtd +454 -0
  59. data/lib/dtds/sun-ejb-jar_2_1-0.dtd +756 -0
  60. data/lib/dtds/sun-ejb-jar_2_1-1.dtd +1085 -0
  61. data/lib/dtds/sun-ejb-jar_3_0-0.dtd +1113 -0
  62. data/lib/dtds/sun-loadbalancer_1_0.dtd +156 -0
  63. data/lib/dtds/sun-loadbalancer_1_1.dtd +172 -0
  64. data/lib/dtds/sun-resources_1_0.dtd +650 -0
  65. data/lib/dtds/sun-resources_1_1.dtd +650 -0
  66. data/lib/dtds/sun-resources_1_2.dtd +662 -0
  67. data/lib/dtds/sun-resources_1_3.dtd +732 -0
  68. data/lib/dtds/sun-server_1_0.dtd +1056 -0
  69. data/lib/dtds/sun-web-app_2_3-0.dtd +230 -0
  70. data/lib/dtds/sun-web-app_2_3-1.dtd +230 -0
  71. data/lib/dtds/sun-web-app_2_4-0.dtd +466 -0
  72. data/lib/dtds/sun-web-app_2_4-1.dtd +742 -0
  73. data/lib/dtds/sun-web-app_2_5-0.dtd +789 -0
  74. data/lib/dtds/web-app_2_2.dtd +639 -0
  75. data/lib/dtds/web-app_2_3.dtd +1063 -0
  76. data/lib/dtds/web-jsptaglibrary_1_1.dtd +265 -0
  77. data/lib/dtds/web-jsptaglibrary_1_2.dtd +468 -0
  78. data/lib/package-appclient.xml +185 -0
  79. data/lib/processLauncher.properties +25 -0
  80. data/lib/processLauncher.xml +189 -0
  81. data/lib/schemas/XMLSchema.dtd +402 -0
  82. data/lib/schemas/application-client_1_4.xsd +267 -0
  83. data/lib/schemas/application-client_5.xsd +304 -0
  84. data/lib/schemas/application_1_4.xsd +315 -0
  85. data/lib/schemas/application_5.xsd +336 -0
  86. data/lib/schemas/connector_1_5.xsd +1036 -0
  87. data/lib/schemas/datatypes.dtd +203 -0
  88. data/lib/schemas/ejb-jar_2_1.xsd +2208 -0
  89. data/lib/schemas/ejb-jar_3_0.xsd +2706 -0
  90. data/lib/schemas/j2ee_1_4.xsd +1608 -0
  91. data/lib/schemas/j2ee_jaxrpc_mapping_1_1.xsd +886 -0
  92. data/lib/schemas/j2ee_web_services_1_1.xsd +491 -0
  93. data/lib/schemas/j2ee_web_services_client_1_1.xsd +345 -0
  94. data/lib/schemas/javaee_5.xsd +2096 -0
  95. data/lib/schemas/javaee_web_services_1_2.xsd +747 -0
  96. data/lib/schemas/javaee_web_services_client_1_2.xsd +578 -0
  97. data/lib/schemas/jax-rpc-ri-config.xsd +416 -0
  98. data/lib/schemas/jsp_2_0.xsd +308 -0
  99. data/lib/schemas/jsp_2_1.xsd +343 -0
  100. data/lib/schemas/orm_1_0.xsd +1516 -0
  101. data/lib/schemas/persistence_1_0.xsd +260 -0
  102. data/lib/schemas/web-app_2_4.xsd +1234 -0
  103. data/lib/schemas/web-app_2_5.xsd +1271 -0
  104. data/lib/schemas/web-jsptaglibrary_2_0.xsd +1010 -0
  105. data/lib/schemas/web-jsptaglibrary_2_1.xsd +1144 -0
  106. data/lib/schemas/xml.xsd +82 -0
  107. data/modules/admin-cli-10.0-SNAPSHOT.jar +0 -0
  108. data/modules/auto-depends-0.2-SNAPSHOT.jar +0 -0
  109. data/modules/cli-framework-10.0-SNAPSHOT.jar +0 -0
  110. data/modules/common-ee-util-10.0-SNAPSHOT.jar +0 -0
  111. data/modules/common-util-10.0-SNAPSHOT.jar +0 -0
  112. data/modules/config-0.2-SNAPSHOT.jar +0 -0
  113. data/modules/config-api-10.0-SNAPSHOT.jar +0 -0
  114. data/modules/gf-jruby-connector-10.0-SNAPSHOT.jar +0 -0
  115. data/modules/glassfish-10.0-SNAPSHOT.jar +0 -0
  116. data/modules/glassfish-api-10.0-SNAPSHOT.jar +0 -0
  117. data/modules/glassfish.rb +10 -0
  118. data/modules/grizzly-framework-1.7.1.jar +0 -0
  119. data/modules/grizzly-http-1.7.1.jar +0 -0
  120. data/modules/grizzly-http-utils-1.7.1.jar +0 -0
  121. data/modules/grizzly-jruby-1.7.0.jar +0 -0
  122. data/modules/grizzly-jruby-module-1.7.0.jar +0 -0
  123. data/modules/grizzly-module-1.7.1.jar +0 -0
  124. data/modules/grizzly-portunif-1.7.1.jar +0 -0
  125. data/modules/grizzly-rcm-1.7.1.jar +0 -0
  126. data/modules/hk2-0.2-SNAPSHOT.jar +0 -0
  127. data/modules/hk2-core-0.2-SNAPSHOT.jar +0 -0
  128. data/modules/junit-4.3.1.jar +0 -0
  129. data/modules/kernel-10.0-SNAPSHOT.jar +0 -0
  130. data/modules/persistence-api-1.0b.jar +0 -0
  131. data/modules/servlet-api-2.5.jar +0 -0
  132. data/modules/sjsxp-1.0.jar +0 -0
  133. data/modules/stax-api-1.0-2.jar +0 -0
  134. data/modules/tiger-types-1.0.jar +0 -0
  135. metadata +206 -0
@@ -0,0 +1,343 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
4
+ targetNamespace="http://java.sun.com/xml/ns/javaee"
5
+ xmlns:javaee="http://java.sun.com/xml/ns/javaee"
6
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7
+ elementFormDefault="qualified"
8
+ attributeFormDefault="unqualified"
9
+ version="2.1">
10
+ <xsd:annotation>
11
+ <xsd:documentation>
12
+ @(#)jsp_2_1.xsds 1.5 08/11/05
13
+ </xsd:documentation>
14
+ </xsd:annotation>
15
+
16
+ <xsd:annotation>
17
+ <xsd:documentation>
18
+
19
+ Copyright 2003-2005 Sun Microsystems, Inc.
20
+ 4150 Network Circle
21
+ Santa Clara, California 95054
22
+ U.S.A
23
+ All rights reserved.
24
+
25
+ Sun Microsystems, Inc. has intellectual property rights
26
+ relating to technology described in this document. In
27
+ particular, and without limitation, these intellectual
28
+ property rights may include one or more of the U.S. patents
29
+ listed at http://www.sun.com/patents and one or more
30
+ additional patents or pending patent applications in the
31
+ U.S. and other countries.
32
+
33
+ This document and the technology which it describes are
34
+ distributed under licenses restricting their use, copying,
35
+ distribution, and decompilation. No part of this document
36
+ may be reproduced in any form by any means without prior
37
+ written authorization of Sun and its licensors, if any.
38
+
39
+ Third-party software, including font technology, is
40
+ copyrighted and licensed from Sun suppliers.
41
+
42
+ Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
43
+ JavaServer Pages, Enterprise JavaBeans and the Java Coffee
44
+ Cup logo are trademarks or registered trademarks of Sun
45
+ Microsystems, Inc. in the U.S. and other countries.
46
+
47
+ Federal Acquisitions: Commercial Software - Government Users
48
+ Subject to Standard License Terms and Conditions.
49
+
50
+ </xsd:documentation>
51
+ </xsd:annotation>
52
+
53
+ <xsd:annotation>
54
+ <xsd:documentation>
55
+
56
+ This is the XML Schema for the JSP 2.1 deployment descriptor
57
+ types. The JSP 2.1 schema contains all the special
58
+ structures and datatypes that are necessary to use JSP files
59
+ from a web application.
60
+
61
+ The contents of this schema is used by the web-app_2_5.xsd
62
+ file to define JSP specific content.
63
+
64
+ </xsd:documentation>
65
+ </xsd:annotation>
66
+
67
+ <xsd:annotation>
68
+ <xsd:documentation>
69
+
70
+ The following conventions apply to all Java EE
71
+ deployment descriptor elements unless indicated otherwise.
72
+
73
+ - In elements that specify a pathname to a file within the
74
+ same JAR file, relative filenames (i.e., those not
75
+ starting with "/") are considered relative to the root of
76
+ the JAR file's namespace. Absolute filenames (i.e., those
77
+ starting with "/") also specify names in the root of the
78
+ JAR file's namespace. In general, relative names are
79
+ preferred. The exception is .war files where absolute
80
+ names are preferred for consistency with the Servlet API.
81
+
82
+ </xsd:documentation>
83
+ </xsd:annotation>
84
+
85
+ <xsd:include schemaLocation="javaee_5.xsd"/>
86
+
87
+
88
+ <!-- **************************************************** -->
89
+
90
+ <xsd:complexType name="jsp-configType">
91
+ <xsd:annotation>
92
+ <xsd:documentation>
93
+
94
+ The jsp-configType is used to provide global configuration
95
+ information for the JSP files in a web application. It has
96
+ two subelements, taglib and jsp-property-group.
97
+
98
+ </xsd:documentation>
99
+ </xsd:annotation>
100
+
101
+ <xsd:sequence>
102
+ <xsd:element name="taglib"
103
+ type="javaee:taglibType"
104
+ minOccurs="0"
105
+ maxOccurs="unbounded"/>
106
+ <xsd:element name="jsp-property-group"
107
+ type="javaee:jsp-property-groupType"
108
+ minOccurs="0"
109
+ maxOccurs="unbounded"/>
110
+ </xsd:sequence>
111
+ <xsd:attribute name="id" type="xsd:ID"/>
112
+ </xsd:complexType>
113
+
114
+ <!-- **************************************************** -->
115
+
116
+ <xsd:complexType name="jsp-fileType">
117
+ <xsd:annotation>
118
+ <xsd:documentation>
119
+
120
+ The jsp-file element contains the full path to a JSP file
121
+ within the web application beginning with a `/'.
122
+
123
+ </xsd:documentation>
124
+ </xsd:annotation>
125
+
126
+ <xsd:simpleContent>
127
+ <xsd:restriction base="javaee:pathType"/>
128
+ </xsd:simpleContent>
129
+ </xsd:complexType>
130
+
131
+ <!-- **************************************************** -->
132
+
133
+ <xsd:complexType name="jsp-property-groupType">
134
+ <xsd:annotation>
135
+ <xsd:documentation>
136
+
137
+ The jsp-property-groupType is used to group a number of
138
+ files so they can be given global property information.
139
+ All files so described are deemed to be JSP files. The
140
+ following additional properties can be described:
141
+
142
+ - Control whether EL is ignored.
143
+ - Control whether scripting elements are invalid.
144
+ - Indicate pageEncoding information.
145
+ - Indicate that a resource is a JSP document (XML).
146
+ - Prelude and Coda automatic includes.
147
+ - Control whether the character sequence #{ is allowed
148
+ when used as a String literal.
149
+ - Control whether template text containing only
150
+ whitespaces must be removed from the response output.
151
+
152
+ </xsd:documentation>
153
+ </xsd:annotation>
154
+
155
+ <xsd:sequence>
156
+ <xsd:group ref="javaee:descriptionGroup"/>
157
+ <xsd:element name="url-pattern"
158
+ type="javaee:url-patternType"
159
+ maxOccurs="unbounded"/>
160
+ <xsd:element name="el-ignored"
161
+ type="javaee:true-falseType"
162
+ minOccurs="0">
163
+ <xsd:annotation>
164
+ <xsd:documentation>
165
+
166
+ Can be used to easily set the isELIgnored
167
+ property of a group of JSP pages. By default, the
168
+ EL evaluation is enabled for Web Applications using
169
+ a Servlet 2.4 or greater web.xml, and disabled
170
+ otherwise.
171
+
172
+ </xsd:documentation>
173
+ </xsd:annotation>
174
+ </xsd:element>
175
+ <xsd:element name="page-encoding"
176
+ type="javaee:string"
177
+ minOccurs="0">
178
+ <xsd:annotation>
179
+ <xsd:documentation>
180
+
181
+ The valid values of page-encoding are those of the
182
+ pageEncoding page directive. It is a
183
+ translation-time error to name different encodings
184
+ in the pageEncoding attribute of the page directive
185
+ of a JSP page and in a JSP configuration element
186
+ matching the page. It is also a translation-time
187
+ error to name different encodings in the prolog
188
+ or text declaration of a document in XML syntax and
189
+ in a JSP configuration element matching the document.
190
+ It is legal to name the same encoding through
191
+ mulitple mechanisms.
192
+
193
+ </xsd:documentation>
194
+ </xsd:annotation>
195
+ </xsd:element>
196
+ <xsd:element name="scripting-invalid"
197
+ type="javaee:true-falseType"
198
+ minOccurs="0">
199
+ <xsd:annotation>
200
+ <xsd:documentation>
201
+
202
+ Can be used to easily disable scripting in a
203
+ group of JSP pages. By default, scripting is
204
+ enabled.
205
+
206
+ </xsd:documentation>
207
+ </xsd:annotation>
208
+ </xsd:element>
209
+ <xsd:element name="is-xml"
210
+ type="javaee:true-falseType"
211
+ minOccurs="0">
212
+ <xsd:annotation>
213
+ <xsd:documentation>
214
+
215
+ If true, denotes that the group of resources
216
+ that match the URL pattern are JSP documents,
217
+ and thus must be interpreted as XML documents.
218
+ If false, the resources are assumed to not
219
+ be JSP documents, unless there is another
220
+ property group that indicates otherwise.
221
+
222
+ </xsd:documentation>
223
+ </xsd:annotation>
224
+ </xsd:element>
225
+ <xsd:element name="include-prelude"
226
+ type="javaee:pathType"
227
+ minOccurs="0"
228
+ maxOccurs="unbounded">
229
+ <xsd:annotation>
230
+ <xsd:documentation>
231
+
232
+ The include-prelude element is a context-relative
233
+ path that must correspond to an element in the
234
+ Web Application. When the element is present,
235
+ the given path will be automatically included (as
236
+ in an include directive) at the beginning of each
237
+ JSP page in this jsp-property-group.
238
+
239
+ </xsd:documentation>
240
+ </xsd:annotation>
241
+ </xsd:element>
242
+ <xsd:element name="include-coda"
243
+ type="javaee:pathType"
244
+ minOccurs="0"
245
+ maxOccurs="unbounded">
246
+ <xsd:annotation>
247
+ <xsd:documentation>
248
+
249
+ The include-coda element is a context-relative
250
+ path that must correspond to an element in the
251
+ Web Application. When the element is present,
252
+ the given path will be automatically included (as
253
+ in an include directive) at the end of each
254
+ JSP page in this jsp-property-group.
255
+
256
+ </xsd:documentation>
257
+ </xsd:annotation>
258
+ </xsd:element>
259
+ <xsd:element name="deferred-syntax-allowed-as-literal"
260
+ type="javaee:true-falseType"
261
+ minOccurs="0">
262
+ <xsd:annotation>
263
+ <xsd:documentation>
264
+
265
+ The character sequence #{ is reserved for EL expressions.
266
+ Consequently, a translation error occurs if the #{
267
+ character sequence is used as a String literal, unless
268
+ this element is enabled (true). Disabled (false) by
269
+ default.
270
+
271
+ </xsd:documentation>
272
+ </xsd:annotation>
273
+ </xsd:element>
274
+ <xsd:element name="trim-directive-whitespaces"
275
+ type="javaee:true-falseType"
276
+ minOccurs="0">
277
+ <xsd:annotation>
278
+ <xsd:documentation>
279
+
280
+ Indicates that template text containing only whitespaces
281
+ must be removed from the response output. It has no
282
+ effect on JSP documents (XML syntax). Disabled (false)
283
+ by default.
284
+
285
+ </xsd:documentation>
286
+ </xsd:annotation>
287
+ </xsd:element>
288
+ </xsd:sequence>
289
+ <xsd:attribute name="id" type="xsd:ID"/>
290
+ </xsd:complexType>
291
+
292
+ <!-- **************************************************** -->
293
+
294
+ <xsd:complexType name="taglibType">
295
+ <xsd:annotation>
296
+ <xsd:documentation>
297
+
298
+ The taglibType defines the syntax for declaring in
299
+ the deployment descriptor that a tag library is
300
+ available to the application. This can be done
301
+ to override implicit map entries from TLD files and
302
+ from the container.
303
+
304
+ </xsd:documentation>
305
+ </xsd:annotation>
306
+
307
+ <xsd:sequence>
308
+ <xsd:element name="taglib-uri"
309
+ type="javaee:string">
310
+ <xsd:annotation>
311
+ <xsd:documentation>
312
+
313
+ A taglib-uri element describes a URI identifying a
314
+ tag library used in the web application. The body
315
+ of the taglib-uri element may be either an
316
+ absolute URI specification, or a relative URI.
317
+ There should be no entries in web.xml with the
318
+ same taglib-uri value.
319
+
320
+ </xsd:documentation>
321
+ </xsd:annotation>
322
+ </xsd:element>
323
+
324
+ <xsd:element name="taglib-location"
325
+ type="javaee:pathType">
326
+ <xsd:annotation>
327
+ <xsd:documentation>
328
+
329
+ the taglib-location element contains the location
330
+ (as a resource relative to the root of the web
331
+ application) where to find the Tag Library
332
+ Description file for the tag library.
333
+
334
+ </xsd:documentation>
335
+ </xsd:annotation>
336
+ </xsd:element>
337
+
338
+ </xsd:sequence>
339
+ <xsd:attribute name="id" type="xsd:ID"/>
340
+ </xsd:complexType>
341
+
342
+ </xsd:schema>
343
+
@@ -0,0 +1,1516 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Java Persistence API object-relational mapping file schema -->
3
+ <xsd:schema targetNamespace="http://java.sun.com/xml/ns/persistence/orm"
4
+ xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
5
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault="qualified"
7
+ attributeFormDefault="unqualified"
8
+ version="1.0">
9
+
10
+ <xsd:annotation>
11
+ <xsd:documentation>
12
+ @(#)orm_1_0.xsd 1.0 Feb 14 2006
13
+ </xsd:documentation>
14
+ </xsd:annotation>
15
+ <xsd:annotation>
16
+ <xsd:documentation><![CDATA[
17
+
18
+ This is the XML Schema for the persistence object-relational
19
+ mapping file.
20
+ The file may be named "META-INF/orm.xml" in the persistence
21
+ archive or it may be named some other name which would be
22
+ used to locate the file as resource on the classpath.
23
+
24
+ ]]></xsd:documentation>
25
+ </xsd:annotation>
26
+
27
+ <xsd:complexType name="emptyType"/>
28
+
29
+ <xsd:simpleType name="versionType">
30
+ <xsd:restriction base="xsd:token">
31
+ <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
32
+ </xsd:restriction>
33
+ </xsd:simpleType>
34
+
35
+ <!-- **************************************************** -->
36
+
37
+ <xsd:element name="entity-mappings">
38
+ <xsd:complexType>
39
+ <xsd:annotation>
40
+ <xsd:documentation>
41
+
42
+ The entity-mappings element is the root element of an mapping
43
+ file. It contains the following four types of elements:
44
+
45
+ 1. The persistence-unit-metadata element contains metadata
46
+ for the entire persistence unit. It is undefined if this element
47
+ occurs in multiple mapping files within the same persistence unit.
48
+
49
+ 2. The package, schema, catalog and access elements apply to all of
50
+ the entity, mapped-superclass and embeddable elements defined in
51
+ the same file in which they occur.
52
+
53
+ 3. The sequence-generator, table-generator, named-query,
54
+ named-native-query and sql-result-set-mapping elements are global
55
+ to the persistence unit. It is undefined to have more than one
56
+ sequence-generator or table-generator of the same name in the same
57
+ or different mapping files in a persistence unit. It is also
58
+ undefined to have more than one named-query or named-native-query
59
+ of the same name in the same or different mapping files in a
60
+ persistence unit.
61
+
62
+ 4. The entity, mapped-superclass and embeddable elements each define
63
+ the mapping information for a managed persistent class. The mapping
64
+ information contained in these elements may be complete or it may
65
+ be partial.
66
+
67
+ </xsd:documentation>
68
+ </xsd:annotation>
69
+ <xsd:sequence>
70
+ <xsd:element name="description" type="xsd:string"
71
+ minOccurs="0"/>
72
+ <xsd:element name="persistence-unit-metadata"
73
+ type="orm:persistence-unit-metadata"
74
+ minOccurs="0"/>
75
+ <xsd:element name="package" type="xsd:string"
76
+ minOccurs="0"/>
77
+ <xsd:element name="schema" type="xsd:string"
78
+ minOccurs="0"/>
79
+ <xsd:element name="catalog" type="xsd:string"
80
+ minOccurs="0"/>
81
+ <xsd:element name="access" type="orm:access-type"
82
+ minOccurs="0"/>
83
+ <xsd:element name="sequence-generator" type="orm:sequence-generator"
84
+ minOccurs="0" maxOccurs="unbounded"/>
85
+ <xsd:element name="table-generator" type="orm:table-generator"
86
+ minOccurs="0" maxOccurs="unbounded"/>
87
+ <xsd:element name="named-query" type="orm:named-query"
88
+ minOccurs="0" maxOccurs="unbounded"/>
89
+ <xsd:element name="named-native-query" type="orm:named-native-query"
90
+ minOccurs="0" maxOccurs="unbounded"/>
91
+ <xsd:element name="sql-result-set-mapping"
92
+ type="orm:sql-result-set-mapping"
93
+ minOccurs="0" maxOccurs="unbounded"/>
94
+ <xsd:element name="mapped-superclass" type="orm:mapped-superclass"
95
+ minOccurs="0" maxOccurs="unbounded"/>
96
+ <xsd:element name="entity" type="orm:entity"
97
+ minOccurs="0" maxOccurs="unbounded"/>
98
+ <xsd:element name="embeddable" type="orm:embeddable"
99
+ minOccurs="0" maxOccurs="unbounded"/>
100
+ </xsd:sequence>
101
+ <xsd:attribute name="version" type="orm:versionType"
102
+ fixed="1.0" use="required"/>
103
+ </xsd:complexType>
104
+ </xsd:element>
105
+
106
+ <!-- **************************************************** -->
107
+
108
+ <xsd:complexType name="persistence-unit-metadata">
109
+ <xsd:annotation>
110
+ <xsd:documentation>
111
+
112
+ Metadata that applies to the persistence unit and not just to
113
+ the mapping file in which it is contained.
114
+
115
+ If the xml-mapping-metadata-complete element is specified then
116
+ the complete set of mapping metadata for the persistence unit
117
+ is contained in the XML mapping files for the persistence unit.
118
+
119
+ </xsd:documentation>
120
+ </xsd:annotation>
121
+ <xsd:sequence>
122
+ <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"
123
+ minOccurs="0"/>
124
+ <xsd:element name="persistence-unit-defaults"
125
+ type="orm:persistence-unit-defaults"
126
+ minOccurs="0"/>
127
+ </xsd:sequence>
128
+ </xsd:complexType>
129
+
130
+ <!-- **************************************************** -->
131
+
132
+ <xsd:complexType name="persistence-unit-defaults">
133
+ <xsd:annotation>
134
+ <xsd:documentation>
135
+
136
+ These defaults are applied to the persistence unit as a whole
137
+ unless they are overridden by local annotation or XML
138
+ element settings.
139
+
140
+ schema - Used as the schema for all tables or secondary tables
141
+ that apply to the persistence unit
142
+ catalog - Used as the catalog for all tables or secondary tables
143
+ that apply to the persistence unit
144
+ access - Used as the access type for all managed classes in
145
+ the persistence unit
146
+ cascade-persist - Adds cascade-persist to the set of cascade options
147
+ in entity relationships of the persistence unit
148
+ entity-listeners - List of default entity listeners to be invoked
149
+ on each entity in the persistence unit.
150
+
151
+ </xsd:documentation>
152
+ </xsd:annotation>
153
+ <xsd:sequence>
154
+ <xsd:element name="schema" type="xsd:string"
155
+ minOccurs="0"/>
156
+ <xsd:element name="catalog" type="xsd:string"
157
+ minOccurs="0"/>
158
+ <xsd:element name="access" type="orm:access-type"
159
+ minOccurs="0"/>
160
+ <xsd:element name="cascade-persist" type="orm:emptyType"
161
+ minOccurs="0"/>
162
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
163
+ minOccurs="0"/>
164
+ </xsd:sequence>
165
+ </xsd:complexType>
166
+
167
+ <!-- **************************************************** -->
168
+
169
+ <xsd:complexType name="entity">
170
+ <xsd:annotation>
171
+ <xsd:documentation>
172
+
173
+ Defines the settings and mappings for an entity. Is allowed to be
174
+ sparsely populated and used in conjunction with the annotations.
175
+ Alternatively, the metadata-complete attribute can be used to
176
+ indicate that no annotations on the entity class (and its fields
177
+ or properties) are to be processed. If this is the case then
178
+ the defaulting rules for the entity and its subelements will
179
+ be recursively applied.
180
+
181
+ @Target(TYPE) @Retention(RUNTIME)
182
+ public @interface Entity {
183
+ String name() default "";
184
+ }
185
+
186
+ </xsd:documentation>
187
+ </xsd:annotation>
188
+ <xsd:sequence>
189
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
190
+ <xsd:element name="table" type="orm:table"
191
+ minOccurs="0"/>
192
+ <xsd:element name="secondary-table" type="orm:secondary-table"
193
+ minOccurs="0" maxOccurs="unbounded"/>
194
+ <xsd:element name="primary-key-join-column"
195
+ type="orm:primary-key-join-column"
196
+ minOccurs="0" maxOccurs="unbounded"/>
197
+ <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
198
+ <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
199
+ <xsd:element name="discriminator-value" type="orm:discriminator-value"
200
+ minOccurs="0"/>
201
+ <xsd:element name="discriminator-column"
202
+ type="orm:discriminator-column"
203
+ minOccurs="0"/>
204
+ <xsd:element name="sequence-generator" type="orm:sequence-generator"
205
+ minOccurs="0"/>
206
+ <xsd:element name="table-generator" type="orm:table-generator"
207
+ minOccurs="0"/>
208
+ <xsd:element name="named-query" type="orm:named-query"
209
+ minOccurs="0" maxOccurs="unbounded"/>
210
+ <xsd:element name="named-native-query" type="orm:named-native-query"
211
+ minOccurs="0" maxOccurs="unbounded"/>
212
+ <xsd:element name="sql-result-set-mapping"
213
+ type="orm:sql-result-set-mapping"
214
+ minOccurs="0" maxOccurs="unbounded"/>
215
+ <xsd:element name="exclude-default-listeners" type="orm:emptyType"
216
+ minOccurs="0"/>
217
+ <xsd:element name="exclude-superclass-listeners" type="orm:emptyType"
218
+ minOccurs="0"/>
219
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
220
+ minOccurs="0"/>
221
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
222
+ <xsd:element name="post-persist" type="orm:post-persist"
223
+ minOccurs="0"/>
224
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
225
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
226
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
227
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
228
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
229
+ <xsd:element name="attribute-override" type="orm:attribute-override"
230
+ minOccurs="0" maxOccurs="unbounded"/>
231
+ <xsd:element name="association-override"
232
+ type="orm:association-override"
233
+ minOccurs="0" maxOccurs="unbounded"/>
234
+ <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
235
+ </xsd:sequence>
236
+ <xsd:attribute name="name" type="xsd:string"/>
237
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
238
+ <xsd:attribute name="access" type="orm:access-type"/>
239
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
240
+ </xsd:complexType>
241
+
242
+ <!-- **************************************************** -->
243
+
244
+ <xsd:complexType name="attributes">
245
+ <xsd:annotation>
246
+ <xsd:documentation>
247
+
248
+ This element contains the entity field or property mappings.
249
+ It may be sparsely populated to include only a subset of the
250
+ fields or properties. If metadata-complete for the entity is true
251
+ then the remainder of the attributes will be defaulted according
252
+ to the default rules.
253
+
254
+ </xsd:documentation>
255
+ </xsd:annotation>
256
+ <xsd:sequence>
257
+ <xsd:choice>
258
+ <xsd:element name="id" type="orm:id"
259
+ minOccurs="0" maxOccurs="unbounded"/>
260
+ <xsd:element name="embedded-id" type="orm:embedded-id"
261
+ minOccurs="0"/>
262
+ </xsd:choice>
263
+ <xsd:element name="basic" type="orm:basic"
264
+ minOccurs="0" maxOccurs="unbounded"/>
265
+ <xsd:element name="version" type="orm:version"
266
+ minOccurs="0" maxOccurs="unbounded"/>
267
+ <xsd:element name="many-to-one" type="orm:many-to-one"
268
+ minOccurs="0" maxOccurs="unbounded"/>
269
+ <xsd:element name="one-to-many" type="orm:one-to-many"
270
+ minOccurs="0" maxOccurs="unbounded"/>
271
+ <xsd:element name="one-to-one" type="orm:one-to-one"
272
+ minOccurs="0" maxOccurs="unbounded"/>
273
+ <xsd:element name="many-to-many" type="orm:many-to-many"
274
+ minOccurs="0" maxOccurs="unbounded"/>
275
+ <xsd:element name="embedded" type="orm:embedded"
276
+ minOccurs="0" maxOccurs="unbounded"/>
277
+ <xsd:element name="transient" type="orm:transient"
278
+ minOccurs="0" maxOccurs="unbounded"/>
279
+ </xsd:sequence>
280
+ </xsd:complexType>
281
+
282
+ <!-- **************************************************** -->
283
+
284
+ <xsd:simpleType name="access-type">
285
+ <xsd:annotation>
286
+ <xsd:documentation>
287
+
288
+ This element determines how the persistence provider accesses the
289
+ state of an entity or embedded object.
290
+
291
+ </xsd:documentation>
292
+ </xsd:annotation>
293
+ <xsd:restriction base="xsd:token">
294
+ <xsd:enumeration value="PROPERTY"/>
295
+ <xsd:enumeration value="FIELD"/>
296
+ </xsd:restriction>
297
+ </xsd:simpleType>
298
+
299
+ <!-- **************************************************** -->
300
+
301
+ <xsd:complexType name="entity-listeners">
302
+ <xsd:annotation>
303
+ <xsd:documentation>
304
+
305
+ @Target({TYPE}) @Retention(RUNTIME)
306
+ public @interface EntityListeners {
307
+ Class[] value();
308
+ }
309
+
310
+ </xsd:documentation>
311
+ </xsd:annotation>
312
+ <xsd:sequence>
313
+ <xsd:element name="entity-listener" type="orm:entity-listener"
314
+ minOccurs="0" maxOccurs="unbounded"/>
315
+ </xsd:sequence>
316
+ </xsd:complexType>
317
+
318
+ <!-- **************************************************** -->
319
+
320
+ <xsd:complexType name="entity-listener">
321
+ <xsd:annotation>
322
+ <xsd:documentation>
323
+
324
+ Defines an entity listener to be invoked at lifecycle events
325
+ for the entities that list this listener.
326
+
327
+ </xsd:documentation>
328
+ </xsd:annotation>
329
+ <xsd:sequence>
330
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
331
+ <xsd:element name="post-persist" type="orm:post-persist"
332
+ minOccurs="0"/>
333
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
334
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
335
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
336
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
337
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
338
+ </xsd:sequence>
339
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
340
+ </xsd:complexType>
341
+
342
+ <!-- **************************************************** -->
343
+
344
+ <xsd:complexType name="pre-persist">
345
+ <xsd:annotation>
346
+ <xsd:documentation>
347
+
348
+ @Target({METHOD}) @Retention(RUNTIME)
349
+ public @interface PrePersist {}
350
+
351
+ </xsd:documentation>
352
+ </xsd:annotation>
353
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
354
+ </xsd:complexType>
355
+
356
+ <!-- **************************************************** -->
357
+
358
+ <xsd:complexType name="post-persist">
359
+ <xsd:annotation>
360
+ <xsd:documentation>
361
+
362
+ @Target({METHOD}) @Retention(RUNTIME)
363
+ public @interface PostPersist {}
364
+
365
+ </xsd:documentation>
366
+ </xsd:annotation>
367
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
368
+ </xsd:complexType>
369
+
370
+ <!-- **************************************************** -->
371
+
372
+ <xsd:complexType name="pre-remove">
373
+ <xsd:annotation>
374
+ <xsd:documentation>
375
+
376
+ @Target({METHOD}) @Retention(RUNTIME)
377
+ public @interface PreRemove {}
378
+
379
+ </xsd:documentation>
380
+ </xsd:annotation>
381
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
382
+ </xsd:complexType>
383
+
384
+ <!-- **************************************************** -->
385
+
386
+ <xsd:complexType name="post-remove">
387
+ <xsd:annotation>
388
+ <xsd:documentation>
389
+
390
+ @Target({METHOD}) @Retention(RUNTIME)
391
+ public @interface PostRemove {}
392
+
393
+ </xsd:documentation>
394
+ </xsd:annotation>
395
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
396
+ </xsd:complexType>
397
+
398
+ <!-- **************************************************** -->
399
+
400
+ <xsd:complexType name="pre-update">
401
+ <xsd:annotation>
402
+ <xsd:documentation>
403
+
404
+ @Target({METHOD}) @Retention(RUNTIME)
405
+ public @interface PreUpdate {}
406
+
407
+ </xsd:documentation>
408
+ </xsd:annotation>
409
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
410
+ </xsd:complexType>
411
+
412
+ <!-- **************************************************** -->
413
+
414
+ <xsd:complexType name="post-update">
415
+ <xsd:annotation>
416
+ <xsd:documentation>
417
+
418
+ @Target({METHOD}) @Retention(RUNTIME)
419
+ public @interface PostUpdate {}
420
+
421
+ </xsd:documentation>
422
+ </xsd:annotation>
423
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
424
+ </xsd:complexType>
425
+
426
+ <!-- **************************************************** -->
427
+
428
+ <xsd:complexType name="post-load">
429
+ <xsd:annotation>
430
+ <xsd:documentation>
431
+
432
+ @Target({METHOD}) @Retention(RUNTIME)
433
+ public @interface PostLoad {}
434
+
435
+ </xsd:documentation>
436
+ </xsd:annotation>
437
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
438
+ </xsd:complexType>
439
+
440
+ <!-- **************************************************** -->
441
+
442
+ <xsd:complexType name="query-hint">
443
+ <xsd:annotation>
444
+ <xsd:documentation>
445
+
446
+ @Target({}) @Retention(RUNTIME)
447
+ public @interface QueryHint {
448
+ String name();
449
+ String value();
450
+ }
451
+
452
+ </xsd:documentation>
453
+ </xsd:annotation>
454
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
455
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
456
+ </xsd:complexType>
457
+
458
+ <!-- **************************************************** -->
459
+
460
+ <xsd:complexType name="named-query">
461
+ <xsd:annotation>
462
+ <xsd:documentation>
463
+
464
+ @Target({TYPE}) @Retention(RUNTIME)
465
+ public @interface NamedQuery {
466
+ String name();
467
+ String query();
468
+ QueryHint[] hints() default {};
469
+ }
470
+
471
+ </xsd:documentation>
472
+ </xsd:annotation>
473
+ <xsd:sequence>
474
+ <xsd:element name="query" type="xsd:string"/>
475
+ <xsd:element name="hint" type="orm:query-hint"
476
+ minOccurs="0" maxOccurs="unbounded"/>
477
+ </xsd:sequence>
478
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
479
+ </xsd:complexType>
480
+
481
+ <!-- **************************************************** -->
482
+
483
+ <xsd:complexType name="named-native-query">
484
+ <xsd:annotation>
485
+ <xsd:documentation>
486
+
487
+ @Target({TYPE}) @Retention(RUNTIME)
488
+ public @interface NamedNativeQuery {
489
+ String name();
490
+ String query();
491
+ QueryHint[] hints() default {};
492
+ Class resultClass() default void.class;
493
+ String resultSetMapping() default ""; //named SqlResultSetMapping
494
+ }
495
+
496
+ </xsd:documentation>
497
+ </xsd:annotation>
498
+ <xsd:sequence>
499
+ <xsd:element name="query" type="xsd:string"/>
500
+ <xsd:element name="hint" type="orm:query-hint"
501
+ minOccurs="0" maxOccurs="unbounded"/>
502
+ </xsd:sequence>
503
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
504
+ <xsd:attribute name="result-class" type="xsd:string"/>
505
+ <xsd:attribute name="result-set-mapping" type="xsd:string"/>
506
+ </xsd:complexType>
507
+
508
+ <!-- **************************************************** -->
509
+
510
+ <xsd:complexType name="sql-result-set-mapping">
511
+ <xsd:annotation>
512
+ <xsd:documentation>
513
+
514
+ @Target({TYPE}) @Retention(RUNTIME)
515
+ public @interface SqlResultSetMapping {
516
+ String name();
517
+ EntityResult[] entities() default {};
518
+ ColumnResult[] columns() default {};
519
+ }
520
+
521
+ </xsd:documentation>
522
+ </xsd:annotation>
523
+ <xsd:sequence>
524
+ <xsd:element name="entity-result" type="orm:entity-result"
525
+ minOccurs="0" maxOccurs="unbounded"/>
526
+ <xsd:element name="column-result" type="orm:column-result"
527
+ minOccurs="0" maxOccurs="unbounded"/>
528
+ </xsd:sequence>
529
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
530
+ </xsd:complexType>
531
+
532
+ <!-- **************************************************** -->
533
+
534
+ <xsd:complexType name="entity-result">
535
+ <xsd:annotation>
536
+ <xsd:documentation>
537
+
538
+ @Target({}) @Retention(RUNTIME)
539
+ public @interface EntityResult {
540
+ Class entityClass();
541
+ FieldResult[] fields() default {};
542
+ String discriminatorColumn() default "";
543
+ }
544
+
545
+ </xsd:documentation>
546
+ </xsd:annotation>
547
+ <xsd:sequence>
548
+ <xsd:element name="field-result" type="orm:field-result"
549
+ minOccurs="0" maxOccurs="unbounded"/>
550
+ </xsd:sequence>
551
+ <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
552
+ <xsd:attribute name="discriminator-column" type="xsd:string"/>
553
+ </xsd:complexType>
554
+
555
+ <!-- **************************************************** -->
556
+
557
+ <xsd:complexType name="field-result">
558
+ <xsd:annotation>
559
+ <xsd:documentation>
560
+
561
+ @Target({}) @Retention(RUNTIME)
562
+ public @interface FieldResult {
563
+ String name();
564
+ String column();
565
+ }
566
+
567
+ </xsd:documentation>
568
+ </xsd:annotation>
569
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
570
+ <xsd:attribute name="column" type="xsd:string" use="required"/>
571
+ </xsd:complexType>
572
+
573
+ <!-- **************************************************** -->
574
+
575
+ <xsd:complexType name="column-result">
576
+ <xsd:annotation>
577
+ <xsd:documentation>
578
+
579
+ @Target({}) @Retention(RUNTIME)
580
+ public @interface ColumnResult {
581
+ String name();
582
+ }
583
+
584
+ </xsd:documentation>
585
+ </xsd:annotation>
586
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
587
+ </xsd:complexType>
588
+
589
+ <!-- **************************************************** -->
590
+
591
+ <xsd:complexType name="table">
592
+ <xsd:annotation>
593
+ <xsd:documentation>
594
+
595
+ @Target({TYPE}) @Retention(RUNTIME)
596
+ public @interface Table {
597
+ String name() default "";
598
+ String catalog() default "";
599
+ String schema() default "";
600
+ UniqueConstraint[] uniqueConstraints() default {};
601
+ }
602
+
603
+ </xsd:documentation>
604
+ </xsd:annotation>
605
+ <xsd:sequence>
606
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
607
+ minOccurs="0" maxOccurs="unbounded"/>
608
+ </xsd:sequence>
609
+ <xsd:attribute name="name" type="xsd:string"/>
610
+ <xsd:attribute name="catalog" type="xsd:string"/>
611
+ <xsd:attribute name="schema" type="xsd:string"/>
612
+ </xsd:complexType>
613
+
614
+ <!-- **************************************************** -->
615
+
616
+ <xsd:complexType name="secondary-table">
617
+ <xsd:annotation>
618
+ <xsd:documentation>
619
+
620
+ @Target({TYPE}) @Retention(RUNTIME)
621
+ public @interface SecondaryTable {
622
+ String name();
623
+ String catalog() default "";
624
+ String schema() default "";
625
+ PrimaryKeyJoinColumn[] pkJoinColumns() default {};
626
+ UniqueConstraint[] uniqueConstraints() default {};
627
+ }
628
+
629
+ </xsd:documentation>
630
+ </xsd:annotation>
631
+ <xsd:sequence>
632
+ <xsd:element name="primary-key-join-column"
633
+ type="orm:primary-key-join-column"
634
+ minOccurs="0" maxOccurs="unbounded"/>
635
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
636
+ minOccurs="0" maxOccurs="unbounded"/>
637
+ </xsd:sequence>
638
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
639
+ <xsd:attribute name="catalog" type="xsd:string"/>
640
+ <xsd:attribute name="schema" type="xsd:string"/>
641
+ </xsd:complexType>
642
+
643
+ <!-- **************************************************** -->
644
+
645
+ <xsd:complexType name="unique-constraint">
646
+ <xsd:annotation>
647
+ <xsd:documentation>
648
+
649
+ @Target({}) @Retention(RUNTIME)
650
+ public @interface UniqueConstraint {
651
+ String[] columnNames();
652
+ }
653
+
654
+ </xsd:documentation>
655
+ </xsd:annotation>
656
+ <xsd:sequence>
657
+ <xsd:element name="column-name" type="xsd:string"
658
+ maxOccurs="unbounded"/>
659
+ </xsd:sequence>
660
+ </xsd:complexType>
661
+
662
+ <!-- **************************************************** -->
663
+
664
+ <xsd:complexType name="column">
665
+ <xsd:annotation>
666
+ <xsd:documentation>
667
+
668
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
669
+ public @interface Column {
670
+ String name() default "";
671
+ boolean unique() default false;
672
+ boolean nullable() default true;
673
+ boolean insertable() default true;
674
+ boolean updatable() default true;
675
+ String columnDefinition() default "";
676
+ String table() default "";
677
+ int length() default 255;
678
+ int precision() default 0; // decimal precision
679
+ int scale() default 0; // decimal scale
680
+ }
681
+
682
+ </xsd:documentation>
683
+ </xsd:annotation>
684
+ <xsd:attribute name="name" type="xsd:string"/>
685
+ <xsd:attribute name="unique" type="xsd:boolean"/>
686
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
687
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
688
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
689
+ <xsd:attribute name="column-definition" type="xsd:string"/>
690
+ <xsd:attribute name="table" type="xsd:string"/>
691
+ <xsd:attribute name="length" type="xsd:int"/>
692
+ <xsd:attribute name="precision" type="xsd:int"/>
693
+ <xsd:attribute name="scale" type="xsd:int"/>
694
+ </xsd:complexType>
695
+
696
+ <!-- **************************************************** -->
697
+
698
+ <xsd:complexType name="join-column">
699
+ <xsd:annotation>
700
+ <xsd:documentation>
701
+
702
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
703
+ public @interface JoinColumn {
704
+ String name() default "";
705
+ String referencedColumnName() default "";
706
+ boolean unique() default false;
707
+ boolean nullable() default true;
708
+ boolean insertable() default true;
709
+ boolean updatable() default true;
710
+ String columnDefinition() default "";
711
+ String table() default "";
712
+ }
713
+
714
+ </xsd:documentation>
715
+ </xsd:annotation>
716
+ <xsd:attribute name="name" type="xsd:string"/>
717
+ <xsd:attribute name="referenced-column-name" type="xsd:string"/>
718
+ <xsd:attribute name="unique" type="xsd:boolean"/>
719
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
720
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
721
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
722
+ <xsd:attribute name="column-definition" type="xsd:string"/>
723
+ <xsd:attribute name="table" type="xsd:string"/>
724
+ </xsd:complexType>
725
+
726
+ <!-- **************************************************** -->
727
+
728
+ <xsd:simpleType name="generation-type">
729
+ <xsd:annotation>
730
+ <xsd:documentation>
731
+
732
+ public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
733
+
734
+ </xsd:documentation>
735
+ </xsd:annotation>
736
+ <xsd:restriction base="xsd:token">
737
+ <xsd:enumeration value="TABLE"/>
738
+ <xsd:enumeration value="SEQUENCE"/>
739
+ <xsd:enumeration value="IDENTITY"/>
740
+ <xsd:enumeration value="AUTO"/>
741
+ </xsd:restriction>
742
+ </xsd:simpleType>
743
+
744
+ <!-- **************************************************** -->
745
+
746
+ <xsd:complexType name="attribute-override">
747
+ <xsd:annotation>
748
+ <xsd:documentation>
749
+
750
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
751
+ public @interface AttributeOverride {
752
+ String name();
753
+ Column column();
754
+ }
755
+
756
+ </xsd:documentation>
757
+ </xsd:annotation>
758
+ <xsd:sequence>
759
+ <xsd:element name="column" type="orm:column"/>
760
+ </xsd:sequence>
761
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
762
+ </xsd:complexType>
763
+
764
+ <!-- **************************************************** -->
765
+
766
+ <xsd:complexType name="association-override">
767
+ <xsd:annotation>
768
+ <xsd:documentation>
769
+
770
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
771
+ public @interface AssociationOverride {
772
+ String name();
773
+ JoinColumn[] joinColumns();
774
+ }
775
+
776
+ </xsd:documentation>
777
+ </xsd:annotation>
778
+ <xsd:sequence>
779
+ <xsd:element name="join-column" type="orm:join-column"
780
+ maxOccurs="unbounded"/>
781
+ </xsd:sequence>
782
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
783
+ </xsd:complexType>
784
+
785
+ <!-- **************************************************** -->
786
+
787
+ <xsd:complexType name="id-class">
788
+ <xsd:annotation>
789
+ <xsd:documentation>
790
+
791
+ @Target({TYPE}) @Retention(RUNTIME)
792
+ public @interface IdClass {
793
+ Class value();
794
+ }
795
+
796
+ </xsd:documentation>
797
+ </xsd:annotation>
798
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
799
+ </xsd:complexType>
800
+
801
+ <!-- **************************************************** -->
802
+
803
+ <xsd:complexType name="id">
804
+ <xsd:annotation>
805
+ <xsd:documentation>
806
+
807
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
808
+ public @interface Id {}
809
+
810
+ </xsd:documentation>
811
+ </xsd:annotation>
812
+ <xsd:sequence>
813
+ <xsd:element name="column" type="orm:column"
814
+ minOccurs="0"/>
815
+ <xsd:element name="generated-value" type="orm:generated-value"
816
+ minOccurs="0"/>
817
+ <xsd:element name="temporal" type="orm:temporal"
818
+ minOccurs="0"/>
819
+ <xsd:element name="table-generator" type="orm:table-generator"
820
+ minOccurs="0"/>
821
+ <xsd:element name="sequence-generator" type="orm:sequence-generator"
822
+ minOccurs="0"/>
823
+ </xsd:sequence>
824
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
825
+ </xsd:complexType>
826
+
827
+ <!-- **************************************************** -->
828
+
829
+ <xsd:complexType name="embedded-id">
830
+ <xsd:annotation>
831
+ <xsd:documentation>
832
+
833
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
834
+ public @interface EmbeddedId {}
835
+
836
+ </xsd:documentation>
837
+ </xsd:annotation>
838
+ <xsd:sequence>
839
+ <xsd:element name="attribute-override" type="orm:attribute-override"
840
+ minOccurs="0" maxOccurs="unbounded"/>
841
+ </xsd:sequence>
842
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
843
+ </xsd:complexType>
844
+
845
+ <!-- **************************************************** -->
846
+
847
+ <xsd:complexType name="transient">
848
+ <xsd:annotation>
849
+ <xsd:documentation>
850
+
851
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
852
+ public @interface Transient {}
853
+
854
+ </xsd:documentation>
855
+ </xsd:annotation>
856
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
857
+ </xsd:complexType>
858
+
859
+ <!-- **************************************************** -->
860
+
861
+ <xsd:complexType name="version">
862
+ <xsd:annotation>
863
+ <xsd:documentation>
864
+
865
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
866
+ public @interface Version {}
867
+
868
+ </xsd:documentation>
869
+ </xsd:annotation>
870
+ <xsd:sequence>
871
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
872
+ <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
873
+ </xsd:sequence>
874
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
875
+ </xsd:complexType>
876
+
877
+ <!-- **************************************************** -->
878
+
879
+ <xsd:complexType name="basic">
880
+ <xsd:annotation>
881
+ <xsd:documentation>
882
+
883
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
884
+ public @interface Basic {
885
+ FetchType fetch() default EAGER;
886
+ boolean optional() default true;
887
+ }
888
+
889
+ </xsd:documentation>
890
+ </xsd:annotation>
891
+ <xsd:sequence>
892
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
893
+ <xsd:choice>
894
+ <xsd:element name="lob" type="orm:lob" minOccurs="0"/>
895
+ <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
896
+ <xsd:element name="enumerated" type="orm:enumerated" minOccurs="0"/>
897
+ </xsd:choice>
898
+ </xsd:sequence>
899
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
900
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
901
+ <xsd:attribute name="optional" type="xsd:boolean"/>
902
+ </xsd:complexType>
903
+
904
+ <!-- **************************************************** -->
905
+
906
+ <xsd:simpleType name="fetch-type">
907
+ <xsd:annotation>
908
+ <xsd:documentation>
909
+
910
+ public enum FetchType { LAZY, EAGER };
911
+
912
+ </xsd:documentation>
913
+ </xsd:annotation>
914
+ <xsd:restriction base="xsd:token">
915
+ <xsd:enumeration value="LAZY"/>
916
+ <xsd:enumeration value="EAGER"/>
917
+ </xsd:restriction>
918
+ </xsd:simpleType>
919
+
920
+ <!-- **************************************************** -->
921
+
922
+ <xsd:complexType name="lob">
923
+ <xsd:annotation>
924
+ <xsd:documentation>
925
+
926
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
927
+ public @interface Lob {}
928
+
929
+ </xsd:documentation>
930
+ </xsd:annotation>
931
+ </xsd:complexType>
932
+
933
+ <!-- **************************************************** -->
934
+
935
+ <xsd:simpleType name="temporal">
936
+ <xsd:annotation>
937
+ <xsd:documentation>
938
+
939
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
940
+ public @interface Temporal {
941
+ TemporalType value();
942
+ }
943
+
944
+ </xsd:documentation>
945
+ </xsd:annotation>
946
+ <xsd:restriction base="orm:temporal-type"/>
947
+ </xsd:simpleType>
948
+
949
+ <!-- **************************************************** -->
950
+
951
+ <xsd:simpleType name="temporal-type">
952
+ <xsd:annotation>
953
+ <xsd:documentation>
954
+
955
+ public enum TemporalType {
956
+ DATE, // java.sql.Date
957
+ TIME, // java.sql.Time
958
+ TIMESTAMP // java.sql.Timestamp
959
+ }
960
+
961
+ </xsd:documentation>
962
+ </xsd:annotation>
963
+ <xsd:restriction base="xsd:token">
964
+ <xsd:enumeration value="DATE"/>
965
+ <xsd:enumeration value="TIME"/>
966
+ <xsd:enumeration value="TIMESTAMP"/>
967
+ </xsd:restriction>
968
+ </xsd:simpleType>
969
+
970
+ <!-- **************************************************** -->
971
+
972
+ <xsd:simpleType name="enumerated">
973
+ <xsd:annotation>
974
+ <xsd:documentation>
975
+
976
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
977
+ public @interface Enumerated {
978
+ EnumType value() default ORDINAL;
979
+ }
980
+
981
+ </xsd:documentation>
982
+ </xsd:annotation>
983
+ <xsd:restriction base="orm:enum-type"/>
984
+ </xsd:simpleType>
985
+
986
+ <!-- **************************************************** -->
987
+
988
+ <xsd:simpleType name="enum-type">
989
+ <xsd:annotation>
990
+ <xsd:documentation>
991
+
992
+ public enum EnumType {
993
+ ORDINAL,
994
+ STRING
995
+ }
996
+
997
+ </xsd:documentation>
998
+ </xsd:annotation>
999
+ <xsd:restriction base="xsd:token">
1000
+ <xsd:enumeration value="ORDINAL"/>
1001
+ <xsd:enumeration value="STRING"/>
1002
+ </xsd:restriction>
1003
+ </xsd:simpleType>
1004
+
1005
+ <!-- **************************************************** -->
1006
+
1007
+ <xsd:complexType name="many-to-one">
1008
+ <xsd:annotation>
1009
+ <xsd:documentation>
1010
+
1011
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1012
+ public @interface ManyToOne {
1013
+ Class targetEntity() default void.class;
1014
+ CascadeType[] cascade() default {};
1015
+ FetchType fetch() default EAGER;
1016
+ boolean optional() default true;
1017
+ }
1018
+
1019
+ </xsd:documentation>
1020
+ </xsd:annotation>
1021
+ <xsd:sequence>
1022
+ <xsd:choice>
1023
+ <xsd:element name="join-column" type="orm:join-column"
1024
+ minOccurs="0" maxOccurs="unbounded"/>
1025
+ <xsd:element name="join-table" type="orm:join-table"
1026
+ minOccurs="0"/>
1027
+ </xsd:choice>
1028
+ <xsd:element name="cascade" type="orm:cascade-type"
1029
+ minOccurs="0"/>
1030
+ </xsd:sequence>
1031
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
1032
+ <xsd:attribute name="target-entity" type="xsd:string"/>
1033
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
1034
+ <xsd:attribute name="optional" type="xsd:boolean"/>
1035
+ </xsd:complexType>
1036
+
1037
+ <!-- **************************************************** -->
1038
+
1039
+ <xsd:complexType name="cascade-type">
1040
+ <xsd:annotation>
1041
+ <xsd:documentation>
1042
+
1043
+ public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH};
1044
+
1045
+ </xsd:documentation>
1046
+ </xsd:annotation>
1047
+ <xsd:sequence>
1048
+ <xsd:element name="cascade-all" type="orm:emptyType"
1049
+ minOccurs="0"/>
1050
+ <xsd:element name="cascade-persist" type="orm:emptyType"
1051
+ minOccurs="0"/>
1052
+ <xsd:element name="cascade-merge" type="orm:emptyType"
1053
+ minOccurs="0"/>
1054
+ <xsd:element name="cascade-remove" type="orm:emptyType"
1055
+ minOccurs="0"/>
1056
+ <xsd:element name="cascade-refresh" type="orm:emptyType"
1057
+ minOccurs="0"/>
1058
+ </xsd:sequence>
1059
+ </xsd:complexType>
1060
+
1061
+ <!-- **************************************************** -->
1062
+
1063
+ <xsd:complexType name="one-to-one">
1064
+ <xsd:annotation>
1065
+ <xsd:documentation>
1066
+
1067
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1068
+ public @interface OneToOne {
1069
+ Class targetEntity() default void.class;
1070
+ CascadeType[] cascade() default {};
1071
+ FetchType fetch() default EAGER;
1072
+ boolean optional() default true;
1073
+ String mappedBy() default "";
1074
+ }
1075
+
1076
+ </xsd:documentation>
1077
+ </xsd:annotation>
1078
+ <xsd:sequence>
1079
+ <xsd:choice>
1080
+ <xsd:element name="primary-key-join-column"
1081
+ type="orm:primary-key-join-column"
1082
+ minOccurs="0" maxOccurs="unbounded"/>
1083
+ <xsd:element name="join-column" type="orm:join-column"
1084
+ minOccurs="0" maxOccurs="unbounded"/>
1085
+ <xsd:element name="join-table" type="orm:join-table"
1086
+ minOccurs="0"/>
1087
+ </xsd:choice>
1088
+ <xsd:element name="cascade" type="orm:cascade-type"
1089
+ minOccurs="0"/>
1090
+ </xsd:sequence>
1091
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
1092
+ <xsd:attribute name="target-entity" type="xsd:string"/>
1093
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
1094
+ <xsd:attribute name="optional" type="xsd:boolean"/>
1095
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
1096
+ </xsd:complexType>
1097
+
1098
+ <!-- **************************************************** -->
1099
+
1100
+ <xsd:complexType name="one-to-many">
1101
+ <xsd:annotation>
1102
+ <xsd:documentation>
1103
+
1104
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1105
+ public @interface OneToMany {
1106
+ Class targetEntity() default void.class;
1107
+ CascadeType[] cascade() default {};
1108
+ FetchType fetch() default LAZY;
1109
+ String mappedBy() default "";
1110
+ }
1111
+
1112
+ </xsd:documentation>
1113
+ </xsd:annotation>
1114
+ <xsd:sequence>
1115
+ <xsd:element name="order-by" type="orm:order-by"
1116
+ minOccurs="0"/>
1117
+ <xsd:element name="map-key" type="orm:map-key"
1118
+ minOccurs="0"/>
1119
+ <xsd:choice>
1120
+ <xsd:element name="join-table" type="orm:join-table"
1121
+ minOccurs="0"/>
1122
+ <xsd:element name="join-column" type="orm:join-column"
1123
+ minOccurs="0" maxOccurs="unbounded"/>
1124
+ </xsd:choice>
1125
+ <xsd:element name="cascade" type="orm:cascade-type"
1126
+ minOccurs="0"/>
1127
+ </xsd:sequence>
1128
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
1129
+ <xsd:attribute name="target-entity" type="xsd:string"/>
1130
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
1131
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
1132
+ </xsd:complexType>
1133
+
1134
+ <!-- **************************************************** -->
1135
+
1136
+ <xsd:complexType name="join-table">
1137
+ <xsd:annotation>
1138
+ <xsd:documentation>
1139
+
1140
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1141
+ public @interface JoinTable {
1142
+ String name() default "";
1143
+ String catalog() default "";
1144
+ String schema() default "";
1145
+ JoinColumn[] joinColumns() default {};
1146
+ JoinColumn[] inverseJoinColumns() default {};
1147
+ UniqueConstraint[] uniqueConstraints() default {};
1148
+ }
1149
+
1150
+ </xsd:documentation>
1151
+ </xsd:annotation>
1152
+ <xsd:sequence>
1153
+ <xsd:element name="join-column" type="orm:join-column"
1154
+ minOccurs="0" maxOccurs="unbounded"/>
1155
+ <xsd:element name="inverse-join-column" type="orm:join-column"
1156
+ minOccurs="0" maxOccurs="unbounded"/>
1157
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
1158
+ minOccurs="0" maxOccurs="unbounded"/>
1159
+ </xsd:sequence>
1160
+ <xsd:attribute name="name" type="xsd:string"/>
1161
+ <xsd:attribute name="catalog" type="xsd:string"/>
1162
+ <xsd:attribute name="schema" type="xsd:string"/>
1163
+ </xsd:complexType>
1164
+
1165
+ <!-- **************************************************** -->
1166
+
1167
+ <xsd:complexType name="many-to-many">
1168
+ <xsd:annotation>
1169
+ <xsd:documentation>
1170
+
1171
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1172
+ public @interface ManyToMany {
1173
+ Class targetEntity() default void.class;
1174
+ CascadeType[] cascade() default {};
1175
+ FetchType fetch() default LAZY;
1176
+ String mappedBy() default "";
1177
+ }
1178
+
1179
+ </xsd:documentation>
1180
+ </xsd:annotation>
1181
+ <xsd:sequence>
1182
+ <xsd:element name="order-by" type="orm:order-by"
1183
+ minOccurs="0"/>
1184
+ <xsd:element name="map-key" type="orm:map-key"
1185
+ minOccurs="0"/>
1186
+ <xsd:element name="join-table" type="orm:join-table"
1187
+ minOccurs="0"/>
1188
+ <xsd:element name="cascade" type="orm:cascade-type"
1189
+ minOccurs="0"/>
1190
+ </xsd:sequence>
1191
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
1192
+ <xsd:attribute name="target-entity" type="xsd:string"/>
1193
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
1194
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
1195
+ </xsd:complexType>
1196
+
1197
+ <!-- **************************************************** -->
1198
+
1199
+ <xsd:complexType name="generated-value">
1200
+ <xsd:annotation>
1201
+ <xsd:documentation>
1202
+
1203
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1204
+ public @interface GeneratedValue {
1205
+ GenerationType strategy() default AUTO;
1206
+ String generator() default "";
1207
+ }
1208
+
1209
+ </xsd:documentation>
1210
+ </xsd:annotation>
1211
+ <xsd:attribute name="strategy" type="orm:generation-type"/>
1212
+ <xsd:attribute name="generator" type="xsd:string"/>
1213
+ </xsd:complexType>
1214
+
1215
+ <!-- **************************************************** -->
1216
+
1217
+ <xsd:complexType name="map-key">
1218
+ <xsd:annotation>
1219
+ <xsd:documentation>
1220
+
1221
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1222
+ public @interface MapKey {
1223
+ String name() default "";
1224
+ }
1225
+
1226
+ </xsd:documentation>
1227
+ </xsd:annotation>
1228
+ <xsd:attribute name="name" type="xsd:string"/>
1229
+ </xsd:complexType>
1230
+
1231
+ <!-- **************************************************** -->
1232
+
1233
+ <xsd:simpleType name="order-by">
1234
+ <xsd:annotation>
1235
+ <xsd:documentation>
1236
+
1237
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1238
+ public @interface OrderBy {
1239
+ String value() default "";
1240
+ }
1241
+
1242
+ </xsd:documentation>
1243
+ </xsd:annotation>
1244
+ <xsd:restriction base="xsd:string"/>
1245
+ </xsd:simpleType>
1246
+
1247
+ <!-- **************************************************** -->
1248
+
1249
+ <xsd:complexType name="inheritance">
1250
+ <xsd:annotation>
1251
+ <xsd:documentation>
1252
+
1253
+ @Target({TYPE}) @Retention(RUNTIME)
1254
+ public @interface Inheritance {
1255
+ InheritanceType strategy() default SINGLE_TABLE;
1256
+ }
1257
+
1258
+ </xsd:documentation>
1259
+ </xsd:annotation>
1260
+ <xsd:attribute name="strategy" type="orm:inheritance-type"/>
1261
+ </xsd:complexType>
1262
+
1263
+ <!-- **************************************************** -->
1264
+
1265
+ <xsd:simpleType name="inheritance-type">
1266
+ <xsd:annotation>
1267
+ <xsd:documentation>
1268
+
1269
+ public enum InheritanceType
1270
+ { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
1271
+
1272
+ </xsd:documentation>
1273
+ </xsd:annotation>
1274
+ <xsd:restriction base="xsd:token">
1275
+ <xsd:enumeration value="SINGLE_TABLE"/>
1276
+ <xsd:enumeration value="JOINED"/>
1277
+ <xsd:enumeration value="TABLE_PER_CLASS"/>
1278
+ </xsd:restriction>
1279
+ </xsd:simpleType>
1280
+
1281
+ <!-- **************************************************** -->
1282
+
1283
+ <xsd:simpleType name="discriminator-value">
1284
+ <xsd:annotation>
1285
+ <xsd:documentation>
1286
+
1287
+ @Target({TYPE}) @Retention(RUNTIME)
1288
+ public @interface DiscriminatorValue {
1289
+ String value();
1290
+ }
1291
+
1292
+ </xsd:documentation>
1293
+ </xsd:annotation>
1294
+ <xsd:restriction base="xsd:string"/>
1295
+ </xsd:simpleType>
1296
+
1297
+ <!-- **************************************************** -->
1298
+
1299
+ <xsd:simpleType name="discriminator-type">
1300
+ <xsd:annotation>
1301
+ <xsd:documentation>
1302
+
1303
+ public enum DiscriminatorType { STRING, CHAR, INTEGER };
1304
+
1305
+ </xsd:documentation>
1306
+ </xsd:annotation>
1307
+ <xsd:restriction base="xsd:token">
1308
+ <xsd:enumeration value="STRING"/>
1309
+ <xsd:enumeration value="CHAR"/>
1310
+ <xsd:enumeration value="INTEGER"/>
1311
+ </xsd:restriction>
1312
+ </xsd:simpleType>
1313
+
1314
+ <!-- **************************************************** -->
1315
+
1316
+ <xsd:complexType name="primary-key-join-column">
1317
+ <xsd:annotation>
1318
+ <xsd:documentation>
1319
+
1320
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
1321
+ public @interface PrimaryKeyJoinColumn {
1322
+ String name() default "";
1323
+ String referencedColumnName() default "";
1324
+ String columnDefinition() default "";
1325
+ }
1326
+
1327
+ </xsd:documentation>
1328
+ </xsd:annotation>
1329
+ <xsd:attribute name="name" type="xsd:string"/>
1330
+ <xsd:attribute name="referenced-column-name" type="xsd:string"/>
1331
+ <xsd:attribute name="column-definition" type="xsd:string"/>
1332
+ </xsd:complexType>
1333
+
1334
+ <!-- **************************************************** -->
1335
+
1336
+ <xsd:complexType name="discriminator-column">
1337
+ <xsd:annotation>
1338
+ <xsd:documentation>
1339
+
1340
+ @Target({TYPE}) @Retention(RUNTIME)
1341
+ public @interface DiscriminatorColumn {
1342
+ String name() default "DTYPE";
1343
+ DiscriminatorType discriminatorType() default STRING;
1344
+ String columnDefinition() default "";
1345
+ int length() default 31;
1346
+ }
1347
+
1348
+ </xsd:documentation>
1349
+ </xsd:annotation>
1350
+ <xsd:attribute name="name" type="xsd:string"/>
1351
+ <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
1352
+ <xsd:attribute name="column-definition" type="xsd:string"/>
1353
+ <xsd:attribute name="length" type="xsd:int"/>
1354
+ </xsd:complexType>
1355
+
1356
+ <!-- **************************************************** -->
1357
+
1358
+ <xsd:complexType name="embeddable">
1359
+ <xsd:annotation>
1360
+ <xsd:documentation>
1361
+
1362
+ Defines the settings and mappings for embeddable objects. Is
1363
+ allowed to be sparsely populated and used in conjunction with
1364
+ the annotations. Alternatively, the metadata-complete attribute
1365
+ can be used to indicate that no annotations are to be processed
1366
+ in the class. If this is the case then the defaulting rules will
1367
+ be recursively applied.
1368
+
1369
+ @Target({TYPE}) @Retention(RUNTIME)
1370
+ public @interface Embeddable {}
1371
+
1372
+ </xsd:documentation>
1373
+ </xsd:annotation>
1374
+ <xsd:sequence>
1375
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
1376
+ <xsd:element name="attributes" type="orm:embeddable-attributes"
1377
+ minOccurs="0"/>
1378
+ </xsd:sequence>
1379
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
1380
+ <xsd:attribute name="access" type="orm:access-type"/>
1381
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
1382
+ </xsd:complexType>
1383
+
1384
+ <!-- **************************************************** -->
1385
+
1386
+ <xsd:complexType name="embeddable-attributes">
1387
+ <xsd:sequence>
1388
+ <xsd:element name="basic" type="orm:basic"
1389
+ minOccurs="0" maxOccurs="unbounded"/>
1390
+ <xsd:element name="transient" type="orm:transient"
1391
+ minOccurs="0" maxOccurs="unbounded"/>
1392
+ </xsd:sequence>
1393
+ </xsd:complexType>
1394
+
1395
+ <!-- **************************************************** -->
1396
+
1397
+ <xsd:complexType name="embedded">
1398
+ <xsd:annotation>
1399
+ <xsd:documentation>
1400
+
1401
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
1402
+ public @interface Embedded {}
1403
+
1404
+ </xsd:documentation>
1405
+ </xsd:annotation>
1406
+ <xsd:sequence>
1407
+ <xsd:element name="attribute-override" type="orm:attribute-override"
1408
+ minOccurs="0" maxOccurs="unbounded"/>
1409
+ </xsd:sequence>
1410
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
1411
+ </xsd:complexType>
1412
+
1413
+ <!-- **************************************************** -->
1414
+
1415
+ <xsd:complexType name="mapped-superclass">
1416
+ <xsd:annotation>
1417
+ <xsd:documentation>
1418
+
1419
+ Defines the settings and mappings for a mapped superclass. Is
1420
+ allowed to be sparsely populated and used in conjunction with
1421
+ the annotations. Alternatively, the metadata-complete attribute
1422
+ can be used to indicate that no annotations are to be processed
1423
+ If this is the case then the defaulting rules will be recursively
1424
+ applied.
1425
+
1426
+ @Target(TYPE) @Retention(RUNTIME)
1427
+ public @interface MappedSuperclass{}
1428
+
1429
+ </xsd:documentation>
1430
+ </xsd:annotation>
1431
+ <xsd:sequence>
1432
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
1433
+ <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
1434
+ <xsd:element name="exclude-default-listeners" type="orm:emptyType"
1435
+ minOccurs="0"/>
1436
+ <xsd:element name="exclude-superclass-listeners" type="orm:emptyType"
1437
+ minOccurs="0"/>
1438
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
1439
+ minOccurs="0"/>
1440
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
1441
+ <xsd:element name="post-persist" type="orm:post-persist"
1442
+ minOccurs="0"/>
1443
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
1444
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
1445
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
1446
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
1447
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
1448
+ <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
1449
+ </xsd:sequence>
1450
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
1451
+ <xsd:attribute name="access" type="orm:access-type"/>
1452
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
1453
+ </xsd:complexType>
1454
+
1455
+ <!-- **************************************************** -->
1456
+
1457
+ <xsd:complexType name="sequence-generator">
1458
+ <xsd:annotation>
1459
+ <xsd:documentation>
1460
+
1461
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
1462
+ public @interface SequenceGenerator {
1463
+ String name();
1464
+ String sequenceName() default "";
1465
+ int initialValue() default 1;
1466
+ int allocationSize() default 50;
1467
+ }
1468
+
1469
+ </xsd:documentation>
1470
+ </xsd:annotation>
1471
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
1472
+ <xsd:attribute name="sequence-name" type="xsd:string"/>
1473
+ <xsd:attribute name="initial-value" type="xsd:int"/>
1474
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
1475
+ </xsd:complexType>
1476
+
1477
+ <!-- **************************************************** -->
1478
+
1479
+ <xsd:complexType name="table-generator">
1480
+ <xsd:annotation>
1481
+ <xsd:documentation>
1482
+
1483
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
1484
+ public @interface TableGenerator {
1485
+ String name();
1486
+ String table() default "";
1487
+ String catalog() default "";
1488
+ String schema() default "";
1489
+ String pkColumnName() default "";
1490
+ String valueColumnName() default "";
1491
+ String pkColumnValue() default "";
1492
+ int initialValue() default 0;
1493
+ int allocationSize() default 50;
1494
+ UniqueConstraint[] uniqueConstraints() default {};
1495
+ }
1496
+
1497
+ </xsd:documentation>
1498
+ </xsd:annotation>
1499
+ <xsd:sequence>
1500
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
1501
+ minOccurs="0" maxOccurs="unbounded"/>
1502
+ </xsd:sequence>
1503
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
1504
+ <xsd:attribute name="table" type="xsd:string"/>
1505
+ <xsd:attribute name="catalog" type="xsd:string"/>
1506
+ <xsd:attribute name="schema" type="xsd:string"/>
1507
+ <xsd:attribute name="pk-column-name" type="xsd:string"/>
1508
+ <xsd:attribute name="value-column-name" type="xsd:string"/>
1509
+ <xsd:attribute name="pk-column-value" type="xsd:string"/>
1510
+ <xsd:attribute name="initial-value" type="xsd:int"/>
1511
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
1512
+ </xsd:complexType>
1513
+
1514
+ </xsd:schema>
1515
+
1516
+