glassfish 0.1.1-universal-java-1.5

Sign up to get free protection for your applications and to get access to all the features.
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
+