hibernate-configuration-3.0.dtd

  1. <!-- Hibernate file-based configuration document.
  2.  
  3. <!DOCTYPE hibernate-configuration PUBLIC
  4. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  5. "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
  6.  
  7. An instance of this document contains property settings and references
  8. to mapping files for a number of SessionFactory instances to be listed
  9. in JNDI.
  10.  
  11. -->
  12.  
  13. <!ELEMENT hibernate-configuration (session-factory,security?)>
  14.  
  15. <!ELEMENT property (#PCDATA)>
  16. <!ATTLIST property name CDATA #REQUIRED>
  17.  
  18. <!ELEMENT mapping EMPTY> <!-- reference to a mapping file -->
  19. <!ATTLIST mapping resource CDATA #IMPLIED>
  20. <!ATTLIST mapping file CDATA #IMPLIED>
  21. <!ATTLIST mapping jar CDATA #IMPLIED>
  22. <!ATTLIST mapping package CDATA #IMPLIED>
  23. <!ATTLIST mapping class CDATA #IMPLIED>
  24.  
  25. <!ELEMENT class-cache EMPTY>
  26. <!ATTLIST class-cache class CDATA #REQUIRED>
  27. <!ATTLIST class-cache region CDATA #IMPLIED>
  28. <!ATTLIST class-cache usage (read-only|read-write|nonstrict-read-write|transactional) #REQUIRED>
  29. <!ATTLIST class-cache include (all|non-lazy) "all">
  30.  
  31. <!ELEMENT collection-cache EMPTY>
  32. <!ATTLIST collection-cache collection CDATA #REQUIRED>
  33. <!ATTLIST collection-cache region CDATA #IMPLIED>
  34. <!ATTLIST collection-cache usage (read-only|read-write|nonstrict-read-write|transactional) #REQUIRED>
  35.  
  36. <!ELEMENT event (listener*)>
  37. <!ATTLIST event type (auto-flush|merge|create|create-onflush|delete|dirty-check|evict|flush|flush-entity|load|load-collection|lock|refresh|replicate|save-update|save|update|pre-load|pre-update|pre-insert|pre-delete|pre-collection-recreate|pre-collection-remove|pre-collection-update|post-load|post-update|post-insert|post-delete|post-collection-recreate|post-collection-remove|post-collection-update|post-commit-update|post-commit-insert|post-commit-delete) #REQUIRED>
  38.  
  39. <!ELEMENT listener EMPTY>
  40. <!ATTLIST listener type (auto-flush|merge|create|create-onflush|delete|dirty-check|evict|flush|flush-entity|load|load-collection|lock|refresh|replicate|save-update|save|update|pre-load|pre-update|pre-insert|pre-delete|pre-collection-recreate|pre-collection-remove|pre-collection-update|post-load|post-update|post-insert|post-delete|post-collection-recreate|post-collection-remove|post-collection-update|post-commit-update|post-commit-insert|post-commit-delete) #IMPLIED>
  41. <!ATTLIST listener class CDATA #REQUIRED>
  42.  
  43. <!ELEMENT session-factory (property*, mapping*, (class-cache|collection-cache)*, event*, listener*)>
  44. <!ATTLIST session-factory name CDATA #IMPLIED> <!-- the JNDI name -->
  45.  
  46. <!ELEMENT security (grant*)>
  47. <!ATTLIST security context CDATA #REQUIRED> <!--the JACC contextID-->
  48.  
  49. <!ELEMENT grant EMPTY>
  50. <!ATTLIST grant role CDATA #REQUIRED>
  51. <!ATTLIST grant entity-name CDATA #REQUIRED>
  52. <!ATTLIST grant actions CDATA #REQUIRED>

hibernate-configuration-3.0.dtd

hibernate-mapping-3.0.dtd

  1. <!-- Hibernate Mapping DTD.
  2.  
  3. <!DOCTYPE hibernate-mapping PUBLIC
  4. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  5. "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
  6.  
  7. An instance of this XML document may contain mappings for an arbitrary
  8. number of classes. The class mappings may contain associations to classes
  9. mapped in the same document or in another document. No class may be
  10. mapped more than once. Each document may also contain definitions of an
  11. arbitrary number of queries, and import declarations of arbitrary classes.
  12.  
  13. -->
  14.  
  15. <!--
  16. The document root.
  17. -->
  18.  
  19. <!ELEMENT hibernate-mapping (
  20. meta*,
  21. identifier-generator*,
  22. typedef*,
  23. filter-def*,
  24. import*,
  25. (class|subclass|joined-subclass|union-subclass)*,
  26. resultset*,
  27. (query|sql-query)*,
  28. filter-def*,
  29. fetch-profile*,
  30. database-object*
  31. )>
  32. <!ATTLIST hibernate-mapping schema CDATA #IMPLIED> <!-- default: none -->
  33. <!ATTLIST hibernate-mapping catalog CDATA #IMPLIED> <!-- default: none -->
  34. <!ATTLIST hibernate-mapping default-cascade CDATA "none">
  35. <!ATTLIST hibernate-mapping default-access CDATA "property">
  36. <!ATTLIST hibernate-mapping default-lazy (true|false) "true">
  37. <!ATTLIST hibernate-mapping auto-import (true|false) "true">
  38. <!ATTLIST hibernate-mapping package CDATA #IMPLIED> <!-- default: none -->
  39.  
  40. <!--
  41. <meta.../> is used to assign meta-level attributes to a class
  42. or property. Is currently used by codegenerator as a placeholder for
  43. values that is not directly related to OR mappings.
  44. -->
  45. <!ELEMENT meta (#PCDATA)>
  46. <!ATTLIST meta attribute CDATA #REQUIRED>
  47. <!ATTLIST meta inherit (true|false) "true">
  48.  
  49. <!--
  50. <identifier-generator.../> allows customized short-naming of IdentifierGenerator implementations.
  51. -->
  52. <!ELEMENT identifier-generator EMPTY>
  53. <!ATTLIST identifier-generator name CDATA #REQUIRED>
  54. <!ATTLIST identifier-generator class CDATA #REQUIRED>
  55.  
  56. <!--
  57. <typedef.../> allows defining a customized type mapping for a Hibernate type. May
  58. contain parameters for parameterizable types.
  59. -->
  60. <!ELEMENT typedef (param*)>
  61. <!ATTLIST typedef class CDATA #REQUIRED>
  62. <!ATTLIST typedef name CDATA #REQUIRED>
  63.  
  64. <!--
  65. IMPORT element definition; an explicit query language "import"
  66. -->
  67. <!ELEMENT import EMPTY>
  68. <!ATTLIST import class CDATA #REQUIRED>
  69. <!ATTLIST import rename CDATA #IMPLIED> <!-- default: unqualified class name -->
  70.  
  71. <!--
  72. Root entity mapping. Poorly named as entities do not have to be represented by
  73. classes at all. Mapped entities may be represented via different methodologies
  74. (POJO, Map, Dom4j).
  75. -->
  76. <!ELEMENT class (
  77. meta*,
  78. subselect?,
  79. cache?,
  80. synchronize*,
  81. comment?,
  82. tuplizer*,
  83. (id|composite-id),
  84. discriminator?,
  85. natural-id?,
  86. (version|timestamp)?,
  87. (property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,
  88. ((join*,subclass*)|joined-subclass*|union-subclass*),
  89. loader?,sql-insert?,sql-update?,sql-delete?,
  90. filter*,
  91. fetch-profile*,
  92. resultset*,
  93. (query|sql-query)*
  94. )>
  95. <!ATTLIST class entity-name CDATA #IMPLIED>
  96. <!ATTLIST class name CDATA #IMPLIED> <!-- this is the class name -->
  97. <!ATTLIST class proxy CDATA #IMPLIED> <!-- default: no proxy interface -->
  98. <!ATTLIST class lazy (true|false) #IMPLIED>
  99. <!ATTLIST class table CDATA #IMPLIED> <!-- default: unqualified classname -->
  100. <!ATTLIST class schema CDATA #IMPLIED> <!-- default: none -->
  101. <!ATTLIST class catalog CDATA #IMPLIED> <!-- default: none -->
  102. <!ATTLIST class subselect CDATA #IMPLIED>
  103. <!ATTLIST class discriminator-value CDATA #IMPLIED> <!-- default: unqualified class name | none -->
  104. <!ATTLIST class mutable (true|false) "true">
  105. <!ATTLIST class abstract (true|false) #IMPLIED>
  106. <!ATTLIST class polymorphism (implicit|explicit) "implicit">
  107. <!ATTLIST class where CDATA #IMPLIED> <!-- default: none -->
  108. <!ATTLIST class persister CDATA #IMPLIED>
  109. <!ATTLIST class dynamic-update (true|false) "false">
  110. <!ATTLIST class dynamic-insert (true|false) "false">
  111. <!ATTLIST class batch-size CDATA #IMPLIED>
  112. <!ATTLIST class select-before-update (true|false) "false">
  113. <!ATTLIST class optimistic-lock (none|version|dirty|all) "version">
  114. <!ATTLIST class check CDATA #IMPLIED> <!-- default: none -->
  115. <!ATTLIST class rowid CDATA #IMPLIED>
  116. <!ATTLIST class node CDATA #IMPLIED>
  117.  
  118. <!--
  119. TUPLIZER element; defines tuplizer to use for a component/entity for a given entity-mode
  120. -->
  121. <!ELEMENT tuplizer EMPTY>
  122. <!ATTLIST tuplizer entity-mode (pojo|dom4j|dynamic-map) #IMPLIED> <!-- entity mode for which tuplizer is in effect -->
  123. <!ATTLIST tuplizer class CDATA #REQUIRED> <!-- the tuplizer class to use -->
  124.  
  125. <!--
  126. FILTER-DEF element; top-level filter definition.
  127. -->
  128. <!ELEMENT filter-def (#PCDATA|filter-param)*>
  129. <!ATTLIST filter-def name CDATA #REQUIRED> <!-- The filter name -->
  130. <!ATTLIST filter-def condition CDATA #IMPLIED>
  131.  
  132. <!--
  133. FILTER-PARAM element; qualifies parameters found within a FILTER-DEF
  134. condition.
  135. -->
  136. <!ELEMENT filter-param EMPTY>
  137. <!ATTLIST filter-param name CDATA #REQUIRED> <!-- The parameter name -->
  138. <!ATTLIST filter-param type CDATA #REQUIRED> <!-- The parameter type -->
  139.  
  140. <!--
  141. FILTER element; used to apply a filter.
  142. -->
  143. <!ELEMENT filter (#PCDATA)>
  144. <!ATTLIST filter name CDATA #REQUIRED>
  145. <!ATTLIST filter condition CDATA #IMPLIED>
  146.  
  147. <!--
  148. -->
  149. <!ELEMENT fetch-profile (fetch*)>
  150. <!ATTLIST fetch-profile name CDATA #REQUIRED>
  151.  
  152. <!--
  153. The <fetch> element defines a single path to which the fetch
  154. refers, as well as the style of fetch to apply. The 'root' of the
  155. path is different depending upon the context in which the
  156. containing <fetch-profile/> occurs; within a <class/> element,
  157. the entity-name of the containing class mapping is assumed...
  158. -->
  159. <!ELEMENT fetch EMPTY>
  160. <!ATTLIST fetch entity CDATA #IMPLIED> <!-- Implied as long as the containing fetch profile is contained in a class mapping -->
  161. <!ATTLIST fetch association CDATA #REQUIRED>
  162. <!ATTLIST fetch style (join|select) "join">
  163.  
  164. <!-- A join allows some properties of a class to be persisted to a second table -->
  165.  
  166. <!ELEMENT join (
  167. subselect?,
  168. comment?,
  169. key,
  170. (property|many-to-one|component|dynamic-component|any)*,
  171. sql-insert?,sql-update?,sql-delete?
  172. )>
  173. <!ATTLIST join table CDATA #REQUIRED>
  174. <!ATTLIST join schema CDATA #IMPLIED> <!-- default: none -->
  175. <!ATTLIST join catalog CDATA #IMPLIED> <!-- default: none -->
  176. <!ATTLIST join subselect CDATA #IMPLIED>
  177. <!ATTLIST join fetch (join|select) "join">
  178. <!ATTLIST join inverse (true|false) "false">
  179. <!ATTLIST join optional (true|false) "false">
  180.  
  181. <!-- A natural-id element allows declaration of the unique business key -->
  182.  
  183. <!ELEMENT natural-id ( (property|many-to-one|component|dynamic-component|any)* )>
  184. <!ATTLIST natural-id mutable (true|false) "false">
  185.  
  186. <!-- Declares the id type, column and generation algorithm for an entity class.
  187. If a name attribut is given, the id is exposed to the application through the
  188. named property of the class. If not, the id is only exposed to the application
  189. via Session.getIdentifier() -->
  190.  
  191. <!ELEMENT id (meta*,column*,type?,generator?)>
  192. <!ATTLIST id name CDATA #IMPLIED>
  193. <!ATTLIST id node CDATA #IMPLIED>
  194. <!ATTLIST id access CDATA #IMPLIED>
  195. <!ATTLIST id column CDATA #IMPLIED>
  196. <!ATTLIST id type CDATA #IMPLIED>
  197. <!ATTLIST id length CDATA #IMPLIED>
  198. <!ATTLIST id unsaved-value CDATA #IMPLIED> <!-- any|none|null|undefined|0|-1|... -->
  199.  
  200. <!-- A composite key may be modelled by a java class with a property for each
  201. key column. The class must implement java.io.Serializable and reimplement equals()
  202. and hashCode(). -->
  203.  
  204. <!ELEMENT composite-id ( meta*, (key-property|key-many-to-one)+, generator? )>
  205. <!ATTLIST composite-id class CDATA #IMPLIED>
  206. <!ATTLIST composite-id mapped (true|false) "false">
  207. <!ATTLIST composite-id name CDATA #IMPLIED>
  208. <!ATTLIST composite-id node CDATA #IMPLIED>
  209. <!ATTLIST composite-id access CDATA #IMPLIED>
  210. <!ATTLIST composite-id unsaved-value (undefined|any|none) "undefined">
  211.  
  212. <!-- Polymorphic data requires a column holding a class discriminator value. This
  213. value is not directly exposed to the application. -->
  214.  
  215. <!ELEMENT discriminator ((column|formula)?)>
  216. <!ATTLIST discriminator column CDATA #IMPLIED> <!-- default: "class"|none -->
  217. <!ATTLIST discriminator formula CDATA #IMPLIED>
  218. <!ATTLIST discriminator type CDATA "string">
  219. <!ATTLIST discriminator not-null (true|false) "true">
  220. <!ATTLIST discriminator length CDATA #IMPLIED>
  221. <!ATTLIST discriminator force (true|false) "false">
  222. <!ATTLIST discriminator insert (true|false) "true">
  223.  
  224. <!-- Versioned data requires a column holding a version number. This is exposed to the
  225. application through a property of the Java class. -->
  226.  
  227. <!ELEMENT version (meta*,column*)>
  228. <!ATTLIST version name CDATA #REQUIRED>
  229. <!ATTLIST version node CDATA #IMPLIED>
  230. <!ATTLIST version access CDATA #IMPLIED>
  231. <!ATTLIST version column CDATA #IMPLIED>
  232. <!ATTLIST version type CDATA "integer">
  233. <!ATTLIST version unsaved-value (null|negative|undefined) "undefined">
  234. <!ATTLIST version generated (never|always) "never">
  235. <!ATTLIST version insert (true|false) #IMPLIED>
  236.  
  237. <!ELEMENT timestamp (meta*)>
  238. <!ATTLIST timestamp name CDATA #REQUIRED>
  239. <!ATTLIST timestamp node CDATA #IMPLIED>
  240. <!ATTLIST timestamp column CDATA #IMPLIED>
  241. <!ATTLIST timestamp access CDATA #IMPLIED>
  242. <!ATTLIST timestamp unsaved-value (null|undefined) "null">
  243. <!ATTLIST timestamp source (vm|db) "vm">
  244. <!ATTLIST timestamp generated (never|always) "never">
  245.  
  246. <!--
  247. Subclass declarations are nested beneath the root class declaration to achieve
  248. polymorphic persistence with the table-per-hierarchy mapping strategy.
  249.  
  250. See the note on the class element regarding <pojo/> vs. @name usage...
  251. -->
  252. <!ELEMENT subclass (
  253. meta*,
  254. tuplizer*,
  255. synchronize*,
  256. (property|many-to-one|one-to-one|component|dynamic-component|any|map|set|list|bag|idbag|array|primitive-array)*,
  257. join*,
  258. subclass*,
  259. loader?,sql-insert?,sql-update?,sql-delete?,
  260. fetch-profile*,
  261. resultset*,
  262. (query|sql-query)*
  263. )>
  264. <!ATTLIST subclass entity-name CDATA #IMPLIED>
  265. <!ATTLIST subclass name CDATA #IMPLIED>
  266. <!ATTLIST subclass proxy CDATA #IMPLIED> <!-- default: no proxy interface -->
  267. <!ATTLIST subclass discriminator-value CDATA #IMPLIED> <!-- default: unqualified class name | none -->
  268. <!ATTLIST subclass dynamic-update (true|false) "false">
  269. <!ATTLIST subclass dynamic-insert (true|false) "false">
  270. <!ATTLIST subclass select-before-update (true|false) "false">
  271. <!ATTLIST subclass extends CDATA #IMPLIED> <!-- default: empty when a toplevel, otherwise the nearest class definition -->
  272. <!ATTLIST subclass lazy (true|false) #IMPLIED>
  273. <!ATTLIST subclass abstract (true|false) #IMPLIED>
  274. <!ATTLIST subclass persister CDATA #IMPLIED>
  275. <!ATTLIST subclass batch-size CDATA #IMPLIED>
  276. <!ATTLIST subclass node CDATA #IMPLIED>
  277.  
  278. <!--
  279. Joined subclasses are used for the normalized table-per-subclass mapping strategy
  280.  
  281. See the note on the class element regarding <pojo/> vs. @name usage...
  282. -->
  283. <!ELEMENT joined-subclass (
  284. meta*,
  285. subselect?,
  286. synchronize*,
  287. comment?,
  288. tuplizer*,
  289. key,
  290. (property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,
  291. joined-subclass*,
  292. loader?,sql-insert?,sql-update?,sql-delete?,
  293. fetch-profile*,
  294. resultset*,
  295. (query|sql-query)*
  296. )>
  297. <!ATTLIST joined-subclass entity-name CDATA #IMPLIED>
  298. <!ATTLIST joined-subclass name CDATA #IMPLIED>
  299. <!ATTLIST joined-subclass proxy CDATA #IMPLIED> <!-- default: no proxy interface -->
  300. <!ATTLIST joined-subclass table CDATA #IMPLIED> <!-- default: unqualified class name -->
  301. <!ATTLIST joined-subclass schema CDATA #IMPLIED>
  302. <!ATTLIST joined-subclass catalog CDATA #IMPLIED>
  303. <!ATTLIST joined-subclass subselect CDATA #IMPLIED>
  304. <!ATTLIST joined-subclass dynamic-update (true|false) "false">
  305. <!ATTLIST joined-subclass dynamic-insert (true|false) "false">
  306. <!ATTLIST joined-subclass select-before-update (true|false) "false">
  307. <!ATTLIST joined-subclass extends CDATA #IMPLIED> <!-- default: none when toplevel, otherwise the nearest class definition -->
  308. <!ATTLIST joined-subclass lazy (true|false) #IMPLIED>
  309. <!ATTLIST joined-subclass abstract (true|false) #IMPLIED>
  310. <!ATTLIST joined-subclass persister CDATA #IMPLIED>
  311. <!ATTLIST joined-subclass check CDATA #IMPLIED> <!-- default: none -->
  312. <!ATTLIST joined-subclass batch-size CDATA #IMPLIED>
  313. <!ATTLIST joined-subclass node CDATA #IMPLIED>
  314.  
  315. <!--
  316. Union subclasses are used for the table-per-concrete-class mapping strategy
  317.  
  318. See the note on the class element regarding <pojo/> vs. @name usage...
  319. -->
  320. <!ELEMENT union-subclass (
  321. meta*,
  322. subselect?,
  323. synchronize*,
  324. comment?,
  325. tuplizer*,
  326. (property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,
  327. union-subclass*,
  328. loader?,sql-insert?,sql-update?,sql-delete?,
  329. fetch-profile*,
  330. resultset*,
  331. (query|sql-query)*
  332. )>
  333. <!ATTLIST union-subclass entity-name CDATA #IMPLIED>
  334. <!ATTLIST union-subclass name CDATA #IMPLIED>
  335. <!ATTLIST union-subclass proxy CDATA #IMPLIED> <!-- default: no proxy interface -->
  336. <!ATTLIST union-subclass table CDATA #IMPLIED> <!-- default: unqualified class name -->
  337. <!ATTLIST union-subclass schema CDATA #IMPLIED>
  338. <!ATTLIST union-subclass catalog CDATA #IMPLIED>
  339. <!ATTLIST union-subclass subselect CDATA #IMPLIED>
  340. <!ATTLIST union-subclass dynamic-update (true|false) "false">
  341. <!ATTLIST union-subclass dynamic-insert (true|false) "false">
  342. <!ATTLIST union-subclass select-before-update (true|false) "false">
  343. <!ATTLIST union-subclass extends CDATA #IMPLIED> <!-- default: none when toplevel, otherwise the nearest class definition -->
  344. <!ATTLIST union-subclass lazy (true|false) #IMPLIED>
  345. <!ATTLIST union-subclass abstract (true|false) #IMPLIED>
  346. <!ATTLIST union-subclass persister CDATA #IMPLIED>
  347. <!ATTLIST union-subclass check CDATA #IMPLIED> <!-- default: none -->
  348. <!ATTLIST union-subclass batch-size CDATA #IMPLIED>
  349. <!ATTLIST union-subclass node CDATA #IMPLIED>
  350.  
  351. <!-- Property of an entity class or component, component-element, composite-id, etc.
  352. JavaBeans style properties are mapped to table columns. -->
  353.  
  354. <!ELEMENT property (meta*,(column|formula)*,type?)>
  355. <!ATTLIST property name CDATA #REQUIRED>
  356. <!ATTLIST property node CDATA #IMPLIED>
  357. <!ATTLIST property access CDATA #IMPLIED>
  358. <!ATTLIST property type CDATA #IMPLIED>
  359. <!ATTLIST property column CDATA #IMPLIED>
  360. <!ATTLIST property length CDATA #IMPLIED>
  361. <!ATTLIST property precision CDATA #IMPLIED>
  362. <!ATTLIST property scale CDATA #IMPLIED>
  363. <!ATTLIST property not-null (true|false) #IMPLIED>
  364. <!ATTLIST property unique (true|false) "false">
  365. <!ATTLIST property unique-key CDATA #IMPLIED>
  366. <!ATTLIST property index CDATA #IMPLIED> <!-- include the columns spanned by this property in an index -->
  367. <!ATTLIST property update (true|false) #IMPLIED>
  368. <!ATTLIST property insert (true|false) #IMPLIED>
  369. <!ATTLIST property optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  370. <!ATTLIST property formula CDATA #IMPLIED>
  371. <!ATTLIST property lazy (true|false) "false">
  372. <!ATTLIST property generated (never|insert|always) "never">
  373.  
  374. <!-- Declares the type of the containing property (overrides an eventually existing type
  375. attribute of the property). May contain param elements to customize a ParametrizableType. -->
  376. <!ELEMENT type (param*)>
  377. <!ATTLIST type name CDATA #REQUIRED>
  378.  
  379. <!-- Declares an association between two entities (Or from a component, component element,
  380. etc. to an entity). -->
  381.  
  382. <!ELEMENT many-to-one (meta*,(column|formula)*)>
  383. <!ATTLIST many-to-one name CDATA #REQUIRED>
  384. <!ATTLIST many-to-one access CDATA #IMPLIED>
  385. <!ATTLIST many-to-one class CDATA #IMPLIED>
  386. <!ATTLIST many-to-one entity-name CDATA #IMPLIED>
  387. <!ATTLIST many-to-one column CDATA #IMPLIED>
  388. <!ATTLIST many-to-one not-null (true|false) #IMPLIED>
  389. <!ATTLIST many-to-one unique (true|false) "false">
  390. <!ATTLIST many-to-one unique-key CDATA #IMPLIED>
  391. <!ATTLIST many-to-one index CDATA #IMPLIED>
  392. <!ATTLIST many-to-one cascade CDATA #IMPLIED>
  393. <!ATTLIST many-to-one outer-join (true|false|auto) #IMPLIED>
  394. <!ATTLIST many-to-one fetch (join|select) #IMPLIED>
  395. <!ATTLIST many-to-one update (true|false) "true">
  396. <!ATTLIST many-to-one insert (true|false) "true">
  397. <!ATTLIST many-to-one optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  398. <!ATTLIST many-to-one foreign-key CDATA #IMPLIED>
  399. <!ATTLIST many-to-one property-ref CDATA #IMPLIED>
  400. <!ATTLIST many-to-one formula CDATA #IMPLIED>
  401. <!ATTLIST many-to-one lazy (false|proxy|no-proxy) #IMPLIED>
  402. <!ATTLIST many-to-one not-found (exception|ignore) "exception">
  403. <!ATTLIST many-to-one node CDATA #IMPLIED>
  404. <!ATTLIST many-to-one embed-xml (true|false) "true">
  405.  
  406. <!-- Declares a one-to-one association between two entities (Or from a component,
  407. component element, etc. to an entity). -->
  408.  
  409. <!ELEMENT one-to-one (meta*,formula*)>
  410. <!ATTLIST one-to-one name CDATA #REQUIRED>
  411. <!ATTLIST one-to-one formula CDATA #IMPLIED>
  412. <!ATTLIST one-to-one access CDATA #IMPLIED>
  413. <!ATTLIST one-to-one class CDATA #IMPLIED>
  414. <!ATTLIST one-to-one entity-name CDATA #IMPLIED>
  415. <!ATTLIST one-to-one cascade CDATA #IMPLIED>
  416. <!ATTLIST one-to-one outer-join (true|false|auto) #IMPLIED>
  417. <!ATTLIST one-to-one fetch (join|select) #IMPLIED>
  418. <!ATTLIST one-to-one constrained (true|false) "false">
  419. <!ATTLIST one-to-one foreign-key CDATA #IMPLIED>
  420. <!ATTLIST one-to-one property-ref CDATA #IMPLIED>
  421. <!ATTLIST one-to-one lazy (false|proxy|no-proxy) #IMPLIED>
  422. <!ATTLIST one-to-one node CDATA #IMPLIED>
  423. <!ATTLIST one-to-one embed-xml (true|false) "true">
  424.  
  425. <!-- A property embedded in a composite identifier or map index (always not-null). -->
  426.  
  427. <!ELEMENT key-property (meta*,column*,type?)>
  428. <!ATTLIST key-property name CDATA #REQUIRED>
  429. <!ATTLIST key-property access CDATA #IMPLIED>
  430. <!ATTLIST key-property type CDATA #IMPLIED>
  431. <!ATTLIST key-property column CDATA #IMPLIED>
  432. <!ATTLIST key-property length CDATA #IMPLIED>
  433. <!ATTLIST key-property node CDATA #IMPLIED>
  434.  
  435. <!-- A many-to-one association embedded in a composite identifier or map index
  436. (always not-null, never cascade). -->
  437.  
  438. <!ELEMENT key-many-to-one (meta*,column*)>
  439. <!ATTLIST key-many-to-one name CDATA #REQUIRED>
  440. <!ATTLIST key-many-to-one access CDATA #IMPLIED>
  441. <!ATTLIST key-many-to-one class CDATA #IMPLIED>
  442. <!ATTLIST key-many-to-one entity-name CDATA #IMPLIED>
  443. <!ATTLIST key-many-to-one column CDATA #IMPLIED>
  444. <!ATTLIST key-many-to-one foreign-key CDATA #IMPLIED>
  445. <!ATTLIST key-many-to-one lazy (false|proxy) #IMPLIED>
  446.  
  447. <!-- An "any" association is a polymorphic association to any table with
  448. the given identifier type. The first listed column is a VARCHAR column
  449. holding the name of the class (for that row). -->
  450.  
  451. <!ELEMENT any (meta*,meta-value*,column,column+)>
  452. <!ATTLIST any id-type CDATA #REQUIRED>
  453. <!ATTLIST any meta-type CDATA #IMPLIED> <!--- default: Hibernate.STRING -->
  454. <!ATTLIST any name CDATA #REQUIRED>
  455. <!ATTLIST any access CDATA #IMPLIED>
  456. <!ATTLIST any insert (true|false) "true">
  457. <!ATTLIST any update (true|false) "true">
  458. <!ATTLIST any cascade CDATA #IMPLIED>
  459. <!ATTLIST any index CDATA #IMPLIED> <!-- include the columns spanned by this association in an index -->
  460. <!ATTLIST any optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  461. <!ATTLIST any lazy (true|false) "false">
  462. <!ATTLIST any node CDATA #IMPLIED>
  463.  
  464. <!ELEMENT meta-value EMPTY>
  465. <!ATTLIST meta-value value CDATA #REQUIRED>
  466. <!ATTLIST meta-value class CDATA #REQUIRED>
  467.  
  468. <!-- A component is a user-defined class, persisted along with its containing entity
  469. to the table of the entity class. JavaBeans style properties of the component are
  470. mapped to columns of the table of the containing entity. A null component reference
  471. is mapped to null values in all columns and vice versa. Components do not support
  472. shared reference semantics. -->
  473.  
  474. <!ELEMENT component (
  475. meta*,
  476. tuplizer*,
  477. parent?,
  478. (property|many-to-one|one-to-one|component|dynamic-component|any|map|set|list|bag|array|primitive-array)*
  479. )>
  480. <!ATTLIST component class CDATA #IMPLIED>
  481. <!ATTLIST component name CDATA #REQUIRED>
  482. <!ATTLIST component access CDATA #IMPLIED>
  483. <!ATTLIST component unique (true|false) "false">
  484. <!ATTLIST component update (true|false) "true">
  485. <!ATTLIST component insert (true|false) "true">
  486. <!ATTLIST component lazy (true|false) "false">
  487. <!ATTLIST component optimistic-lock (true|false) "true">
  488. <!ATTLIST component node CDATA #IMPLIED>
  489.  
  490. <!-- A dynamic-component maps columns of the database entity to a java.util.Map
  491. at the Java level -->
  492.  
  493. <!ELEMENT dynamic-component (
  494. (property|many-to-one|one-to-one|component|dynamic-component|any|map|set|list|bag|array|primitive-array)*
  495. )>
  496. <!ATTLIST dynamic-component name CDATA #REQUIRED>
  497. <!ATTLIST dynamic-component access CDATA #IMPLIED>
  498. <!ATTLIST dynamic-component unique (true|false) "false">
  499. <!ATTLIST dynamic-component update (true|false) "true">
  500. <!ATTLIST dynamic-component insert (true|false) "true">
  501. <!ATTLIST dynamic-component optimistic-lock (true|false) "true">
  502. <!ATTLIST dynamic-component node CDATA #IMPLIED>
  503.  
  504. <!-- properties declares that the contained properties form an alternate key. The name
  505. attribute allows an alternate key to be used as the target of a property-ref. -->
  506.  
  507. <!ELEMENT properties (
  508. (property|many-to-one|component|dynamic-component)*
  509. )>
  510. <!ATTLIST properties name CDATA #REQUIRED>
  511. <!ATTLIST properties unique (true|false) "false">
  512. <!ATTLIST properties insert (true|false) "true">
  513. <!ATTLIST properties update (true|false) "true">
  514. <!ATTLIST properties optimistic-lock (true|false) "true">
  515. <!ATTLIST properties node CDATA #IMPLIED>
  516.  
  517. <!-- The parent element maps a property of the component class as a pointer back to
  518. the owning entity. -->
  519.  
  520. <!ELEMENT parent EMPTY>
  521. <!ATTLIST parent name CDATA #REQUIRED>
  522.  
  523. <!-- Collection declarations nested inside a class declaration indicate a foreign key
  524. relationship from the collection table to the enclosing class. -->
  525.  
  526. <!ELEMENT map (
  527. meta*,
  528. subselect?,
  529. cache?,
  530. synchronize*,
  531. comment?,
  532. key,
  533. (map-key|composite-map-key|map-key-many-to-many|index|composite-index|index-many-to-many|index-many-to-any),
  534. (element|one-to-many|many-to-many|composite-element|many-to-any),
  535. loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,
  536. filter*
  537. )>
  538. <!ATTLIST map name CDATA #REQUIRED>
  539. <!ATTLIST map access CDATA #IMPLIED>
  540. <!ATTLIST map table CDATA #IMPLIED> <!-- default: name -->
  541. <!ATTLIST map schema CDATA #IMPLIED> <!-- default: none -->
  542. <!ATTLIST map subselect CDATA #IMPLIED>
  543. <!ATTLIST map catalog CDATA #IMPLIED> <!-- default: none -->
  544. <!ATTLIST map lazy (true|false|extra) #IMPLIED>
  545. <!ATTLIST map mutable (true|false) "true">
  546. <!ATTLIST map inverse (true|false) "false">
  547. <!ATTLIST map sort CDATA "unsorted"> <!-- unsorted|natural|"comparator class", default: unsorted -->
  548. <!ATTLIST map cascade CDATA #IMPLIED>
  549. <!ATTLIST map order-by CDATA #IMPLIED> <!-- default: none -->
  550. <!ATTLIST map where CDATA #IMPLIED> <!-- default: none -->
  551. <!ATTLIST map batch-size CDATA #IMPLIED>
  552. <!ATTLIST map outer-join (true|false|auto) #IMPLIED>
  553. <!ATTLIST map fetch (join|select|subselect) #IMPLIED>
  554. <!ATTLIST map check CDATA #IMPLIED> <!-- default: none -->
  555. <!ATTLIST map persister CDATA #IMPLIED>
  556. <!ATTLIST map collection-type CDATA #IMPLIED>
  557. <!ATTLIST map optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  558. <!ATTLIST map node CDATA #IMPLIED>
  559. <!ATTLIST map embed-xml (true|false) "true">
  560.  
  561. <!ELEMENT set (
  562. meta*,
  563. subselect?,
  564. cache?,
  565. synchronize*,
  566. comment?,
  567. key,
  568. (element|one-to-many|many-to-many|composite-element|many-to-any),
  569. loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,
  570. filter*
  571. )>
  572. <!ATTLIST set name CDATA #REQUIRED>
  573. <!ATTLIST set access CDATA #IMPLIED>
  574. <!ATTLIST set table CDATA #IMPLIED> <!-- default: name -->
  575. <!ATTLIST set schema CDATA #IMPLIED> <!-- default: none -->
  576. <!ATTLIST set catalog CDATA #IMPLIED> <!-- default: none -->
  577. <!ATTLIST set subselect CDATA #IMPLIED>
  578. <!ATTLIST set lazy (true|false|extra) #IMPLIED>
  579. <!ATTLIST set sort CDATA "unsorted"> <!-- unsorted|natural|"comparator class" -->
  580. <!ATTLIST set inverse (true|false) "false">
  581. <!ATTLIST set mutable (true|false) "true">
  582. <!ATTLIST set cascade CDATA #IMPLIED>
  583. <!ATTLIST set order-by CDATA #IMPLIED> <!-- default: none -->
  584. <!ATTLIST set where CDATA #IMPLIED> <!-- default: none -->
  585. <!ATTLIST set batch-size CDATA #IMPLIED>
  586. <!ATTLIST set outer-join (true|false|auto) #IMPLIED>
  587. <!ATTLIST set fetch (join|select|subselect) #IMPLIED>
  588. <!ATTLIST set persister CDATA #IMPLIED>
  589. <!ATTLIST set collection-type CDATA #IMPLIED>
  590. <!ATTLIST set check CDATA #IMPLIED> <!-- default: none -->
  591. <!ATTLIST set optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  592. <!ATTLIST set node CDATA #IMPLIED>
  593. <!ATTLIST set embed-xml (true|false) "true">
  594.  
  595. <!ELEMENT bag (
  596. meta*,
  597. subselect?,
  598. cache?,
  599. synchronize*,
  600. comment?,
  601. key,
  602. (element|one-to-many|many-to-many|composite-element|many-to-any),
  603. loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,
  604. filter*
  605. )>
  606. <!ATTLIST bag name CDATA #REQUIRED>
  607. <!ATTLIST bag access CDATA #IMPLIED>
  608. <!ATTLIST bag table CDATA #IMPLIED> <!-- default: name -->
  609. <!ATTLIST bag schema CDATA #IMPLIED> <!-- default: none -->
  610. <!ATTLIST bag catalog CDATA #IMPLIED> <!-- default: none -->
  611. <!ATTLIST bag subselect CDATA #IMPLIED>
  612. <!ATTLIST bag lazy (true|false|extra) #IMPLIED>
  613. <!ATTLIST bag inverse (true|false) "false">
  614. <!ATTLIST bag mutable (true|false) "true">
  615. <!ATTLIST bag cascade CDATA #IMPLIED>
  616. <!ATTLIST bag order-by CDATA #IMPLIED> <!-- default: none -->
  617. <!ATTLIST bag where CDATA #IMPLIED> <!-- default: none -->
  618. <!ATTLIST bag batch-size CDATA #IMPLIED>
  619. <!ATTLIST bag outer-join (true|false|auto) #IMPLIED>
  620. <!ATTLIST bag fetch (join|select|subselect) #IMPLIED>
  621. <!ATTLIST bag persister CDATA #IMPLIED>
  622. <!ATTLIST bag collection-type CDATA #IMPLIED>
  623. <!ATTLIST bag check CDATA #IMPLIED> <!-- default: none -->
  624. <!ATTLIST bag optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  625. <!ATTLIST bag node CDATA #IMPLIED>
  626. <!ATTLIST bag embed-xml (true|false) "true">
  627.  
  628. <!ELEMENT idbag (
  629. meta*,
  630. subselect?,
  631. cache?,
  632. synchronize*,
  633. comment?,
  634. collection-id,
  635. key,
  636. (element|many-to-many|composite-element|many-to-any),
  637. loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,
  638. filter*
  639. )>
  640. <!ATTLIST idbag name CDATA #REQUIRED>
  641. <!ATTLIST idbag access CDATA #IMPLIED>
  642. <!ATTLIST idbag table CDATA #IMPLIED> <!-- default: name -->
  643. <!ATTLIST idbag schema CDATA #IMPLIED> <!-- default: none -->
  644. <!ATTLIST idbag catalog CDATA #IMPLIED> <!-- default: none -->
  645. <!ATTLIST idbag subselect CDATA #IMPLIED>
  646. <!ATTLIST idbag lazy (true|false|extra) #IMPLIED>
  647. <!ATTLIST idbag mutable (true|false) "true">
  648. <!ATTLIST idbag cascade CDATA #IMPLIED>
  649. <!ATTLIST idbag order-by CDATA #IMPLIED> <!-- default: none -->
  650. <!ATTLIST idbag where CDATA #IMPLIED> <!-- default: none -->
  651. <!ATTLIST idbag batch-size CDATA #IMPLIED>
  652. <!ATTLIST idbag outer-join (true|false|auto) #IMPLIED>
  653. <!ATTLIST idbag fetch (join|select|subselect) #IMPLIED>
  654. <!ATTLIST idbag persister CDATA #IMPLIED>
  655. <!ATTLIST idbag collection-type CDATA #IMPLIED>
  656. <!ATTLIST idbag check CDATA #IMPLIED> <!-- default: none -->
  657. <!ATTLIST idbag optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  658. <!ATTLIST idbag node CDATA #IMPLIED>
  659. <!ATTLIST idbag embed-xml (true|false) "true">
  660.  
  661. <!ELEMENT list (
  662. meta*,
  663. subselect?,
  664. cache?,
  665. synchronize*,
  666. comment?,
  667. key,
  668. (index|list-index),
  669. (element|one-to-many|many-to-many|composite-element|many-to-any),
  670. loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,
  671. filter*
  672. )>
  673. <!ATTLIST list name CDATA #REQUIRED>
  674. <!ATTLIST list access CDATA #IMPLIED>
  675. <!ATTLIST list table CDATA #IMPLIED> <!-- default: name -->
  676. <!ATTLIST list schema CDATA #IMPLIED> <!-- default: none -->
  677. <!ATTLIST list catalog CDATA #IMPLIED> <!-- default: none -->
  678. <!ATTLIST list subselect CDATA #IMPLIED>
  679. <!ATTLIST list lazy (true|false|extra) #IMPLIED>
  680. <!ATTLIST list inverse (true|false) "false">
  681. <!ATTLIST list mutable (true|false) "true">
  682. <!ATTLIST list cascade CDATA #IMPLIED>
  683. <!ATTLIST list where CDATA #IMPLIED> <!-- default: none -->
  684. <!ATTLIST list batch-size CDATA #IMPLIED>
  685. <!ATTLIST list outer-join (true|false|auto) #IMPLIED>
  686. <!ATTLIST list fetch (join|select|subselect) #IMPLIED>
  687. <!ATTLIST list persister CDATA #IMPLIED>
  688. <!ATTLIST list collection-type CDATA #IMPLIED>
  689. <!ATTLIST list check CDATA #IMPLIED> <!-- default: none -->
  690. <!ATTLIST list optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  691. <!ATTLIST list node CDATA #IMPLIED>
  692. <!ATTLIST list embed-xml (true|false) "true">
  693.  
  694. <!ELEMENT array (
  695. meta*,
  696. subselect?,
  697. cache?,
  698. synchronize*,
  699. comment?,
  700. key,
  701. (index|list-index),
  702. (element|one-to-many|many-to-many|composite-element|many-to-any),
  703. loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?
  704. )>
  705. <!ATTLIST array name CDATA #REQUIRED>
  706. <!ATTLIST array access CDATA #IMPLIED>
  707. <!ATTLIST array table CDATA #IMPLIED> <!-- default: name -->
  708. <!ATTLIST array schema CDATA #IMPLIED> <!-- default: none -->
  709. <!ATTLIST array catalog CDATA #IMPLIED> <!-- default: none -->
  710. <!ATTLIST array subselect CDATA #IMPLIED>
  711. <!ATTLIST array inverse (true|false) "false">
  712. <!ATTLIST array mutable (true|false) "true">
  713. <!ATTLIST array element-class CDATA #IMPLIED>
  714. <!ATTLIST array cascade CDATA #IMPLIED>
  715. <!ATTLIST array where CDATA #IMPLIED> <!-- default: none -->
  716. <!ATTLIST array batch-size CDATA #IMPLIED>
  717. <!ATTLIST array outer-join (true|false|auto) #IMPLIED>
  718. <!ATTLIST array fetch (join|select|subselect) #IMPLIED>
  719. <!ATTLIST array persister CDATA #IMPLIED>
  720. <!ATTLIST array collection-type CDATA #IMPLIED>
  721. <!ATTLIST array check CDATA #IMPLIED> <!-- default: none -->
  722. <!ATTLIST array optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  723. <!ATTLIST array node CDATA #IMPLIED>
  724. <!ATTLIST array embed-xml (true|false) "true">
  725.  
  726. <!ELEMENT primitive-array (
  727. meta*,
  728. subselect?,
  729. cache?,
  730. synchronize*,
  731. comment?,
  732. key,
  733. (index|list-index),
  734. element,
  735. loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?
  736. )>
  737. <!ATTLIST primitive-array name CDATA #REQUIRED>
  738. <!ATTLIST primitive-array access CDATA #IMPLIED>
  739. <!ATTLIST primitive-array table CDATA #IMPLIED> <!-- default: name -->
  740. <!ATTLIST primitive-array schema CDATA #IMPLIED> <!-- default: none -->
  741. <!ATTLIST primitive-array catalog CDATA #IMPLIED> <!-- default: none -->
  742. <!ATTLIST primitive-array subselect CDATA #IMPLIED>
  743. <!ATTLIST primitive-array mutable (true|false) "true">
  744. <!ATTLIST primitive-array where CDATA #IMPLIED> <!-- default: none -->
  745. <!ATTLIST primitive-array batch-size CDATA #IMPLIED>
  746. <!ATTLIST primitive-array outer-join (true|false|auto) #IMPLIED>
  747. <!ATTLIST primitive-array fetch (join|select|subselect) #IMPLIED>
  748. <!ATTLIST primitive-array persister CDATA #IMPLIED>
  749. <!ATTLIST primitive-array collection-type CDATA #IMPLIED>
  750. <!ATTLIST primitive-array check CDATA #IMPLIED> <!-- default: none -->
  751. <!ATTLIST primitive-array optimistic-lock (true|false) "true"> <!-- only supported for properties of a class (not component) -->
  752. <!ATTLIST primitive-array node CDATA #IMPLIED>
  753. <!ATTLIST primitive-array embed-xml (true|false) "true">
  754.  
  755. <!-- Declares the element type of a collection of basic type -->
  756.  
  757. <!ELEMENT element ( (column|formula)*, type? )>
  758. <!ATTLIST element column CDATA #IMPLIED>
  759. <!ATTLIST element node CDATA #IMPLIED>
  760. <!ATTLIST element formula CDATA #IMPLIED>
  761. <!ATTLIST element type CDATA #IMPLIED>
  762. <!ATTLIST element length CDATA #IMPLIED>
  763. <!ATTLIST element precision CDATA #IMPLIED>
  764. <!ATTLIST element scale CDATA #IMPLIED>
  765. <!ATTLIST element not-null (true|false) "false">
  766. <!ATTLIST element unique (true|false) "false">
  767.  
  768. <!-- One to many association. This tag declares the entity-class
  769. element type of a collection and specifies a one-to-many relational model -->
  770.  
  771. <!ELEMENT one-to-many EMPTY>
  772. <!ATTLIST one-to-many class CDATA #IMPLIED>
  773. <!ATTLIST one-to-many not-found (exception|ignore) "exception">
  774. <!ATTLIST one-to-many node CDATA #IMPLIED>
  775. <!ATTLIST one-to-many embed-xml (true|false) "true">
  776. <!ATTLIST one-to-many entity-name CDATA #IMPLIED>
  777. <!-- No column declaration attributes required in this case. The primary
  778. key column of the associated class is already mapped elsewhere.-->
  779.  
  780. <!-- Many to many association. This tag declares the entity-class
  781. element type of a collection and specifies a many-to-many relational model -->
  782.  
  783. <!ELEMENT many-to-many (meta*,(column|formula)*,filter*)>
  784. <!ATTLIST many-to-many class CDATA #IMPLIED>
  785. <!ATTLIST many-to-many node CDATA #IMPLIED>
  786. <!ATTLIST many-to-many embed-xml (true|false) "true">
  787. <!ATTLIST many-to-many entity-name CDATA #IMPLIED>
  788. <!ATTLIST many-to-many column CDATA #IMPLIED>
  789. <!ATTLIST many-to-many formula CDATA #IMPLIED>
  790. <!ATTLIST many-to-many not-found (exception|ignore) "exception">
  791. <!ATTLIST many-to-many outer-join (true|false|auto) #IMPLIED>
  792. <!ATTLIST many-to-many fetch (join|select) #IMPLIED>
  793. <!ATTLIST many-to-many lazy (false|proxy) #IMPLIED>
  794. <!ATTLIST many-to-many foreign-key CDATA #IMPLIED>
  795. <!ATTLIST many-to-many unique (true|false) "false">
  796. <!ATTLIST many-to-many where CDATA #IMPLIED>
  797. <!ATTLIST many-to-many order-by CDATA #IMPLIED>
  798. <!ATTLIST many-to-many property-ref CDATA #IMPLIED>
  799.  
  800. <!-- A composite element allows a collection to hold instances of an arbitrary
  801. class, without the requirement of joining to an entity table. Composite elements
  802. have component semantics - no shared references and ad hoc null value semantics.
  803. Composite elements may not hold nested collections. -->
  804.  
  805. <!ELEMENT composite-element (
  806. (meta*),
  807. parent?,
  808. tuplizer*,
  809. (property|many-to-one|any|nested-composite-element)*
  810. )>
  811. <!ATTLIST composite-element class CDATA #REQUIRED>
  812. <!ATTLIST composite-element node CDATA #IMPLIED>
  813.  
  814. <!ELEMENT nested-composite-element (
  815. parent?,
  816. tuplizer*,
  817. (property|many-to-one|any|nested-composite-element)*
  818. )>
  819. <!ATTLIST nested-composite-element class CDATA #REQUIRED>
  820. <!ATTLIST nested-composite-element name CDATA #REQUIRED>
  821. <!ATTLIST nested-composite-element access CDATA #IMPLIED>
  822. <!ATTLIST nested-composite-element node CDATA #IMPLIED>
  823.  
  824. <!-- Declares the column name of a foreign key. -->
  825.  
  826. <!ELEMENT key (column*)>
  827. <!ATTLIST key column CDATA #IMPLIED>
  828. <!ATTLIST key property-ref CDATA #IMPLIED>
  829. <!ATTLIST key foreign-key CDATA #IMPLIED>
  830. <!ATTLIST key on-delete (cascade|noaction) "noaction">
  831. <!ATTLIST key not-null (true|false) #IMPLIED>
  832. <!ATTLIST key update (true|false) #IMPLIED>
  833. <!ATTLIST key unique (true|false) #IMPLIED>
  834.  
  835. <!-- Declares the type and column mapping for a collection index (array or
  836. list index, or key of a map). -->
  837.  
  838. <!ELEMENT list-index (column?)>
  839. <!ATTLIST list-index column CDATA #IMPLIED>
  840. <!ATTLIST list-index base CDATA "0">
  841.  
  842. <!ELEMENT map-key ((column|formula)*,type?)>
  843. <!ATTLIST map-key column CDATA #IMPLIED>
  844. <!ATTLIST map-key formula CDATA #IMPLIED>
  845. <!ATTLIST map-key type CDATA #IMPLIED>
  846. <!ATTLIST map-key length CDATA #IMPLIED>
  847. <!ATTLIST map-key node CDATA #IMPLIED>
  848.  
  849. <!ELEMENT index (column*)>
  850. <!ATTLIST index column CDATA #IMPLIED>
  851. <!ATTLIST index type CDATA #IMPLIED> <!-- required for maps -->
  852. <!ATTLIST index length CDATA #IMPLIED>
  853.  
  854. <!-- Many to many association mapped to the key of a map. ie. a map keyed
  855. on entities. -->
  856.  
  857. <!ELEMENT map-key-many-to-many ((column|formula)*)>
  858. <!ATTLIST map-key-many-to-many class CDATA #IMPLIED>
  859. <!ATTLIST map-key-many-to-many entity-name CDATA #IMPLIED>
  860. <!ATTLIST map-key-many-to-many column CDATA #IMPLIED>
  861. <!ATTLIST map-key-many-to-many formula CDATA #IMPLIED>
  862. <!ATTLIST map-key-many-to-many foreign-key CDATA #IMPLIED>
  863.  
  864. <!ELEMENT index-many-to-many (column*)>
  865. <!ATTLIST index-many-to-many class CDATA #REQUIRED>
  866. <!ATTLIST index-many-to-many entity-name CDATA #IMPLIED>
  867. <!ATTLIST index-many-to-many column CDATA #IMPLIED>
  868. <!ATTLIST index-many-to-many foreign-key CDATA #IMPLIED>
  869.  
  870. <!-- Composite index of a map ie. a map keyed on components. -->
  871.  
  872. <!ELEMENT composite-map-key ( (key-property|key-many-to-one)+ )>
  873. <!ATTLIST composite-map-key class CDATA #REQUIRED>
  874.  
  875. <!ELEMENT composite-index ( (key-property|key-many-to-one)+ )>
  876. <!ATTLIST composite-index class CDATA #REQUIRED>
  877.  
  878. <!-- A "many to any" defines a polymorphic association to any table
  879. with the given identifier type. The first listed column is a VARCHAR column
  880. holding the name of the class (for that row). -->
  881.  
  882. <!ELEMENT many-to-any (meta-value*,column, column+)>
  883. <!ATTLIST many-to-any id-type CDATA #REQUIRED>
  884. <!ATTLIST many-to-any meta-type CDATA #IMPLIED> <!--- default: Hibernate.CLASS -->
  885.  
  886. <!ELEMENT index-many-to-any (column, column+)>
  887. <!ATTLIST index-many-to-any id-type CDATA #REQUIRED>
  888. <!ATTLIST index-many-to-any meta-type CDATA #IMPLIED> <!--- default: Hibernate.CLASS -->
  889.  
  890. <!ELEMENT collection-id (meta*, column*, generator)>
  891. <!ATTLIST collection-id column CDATA #REQUIRED>
  892. <!ATTLIST collection-id type CDATA #REQUIRED>
  893. <!ATTLIST collection-id length CDATA #IMPLIED>
  894.  
  895. <!-- Generators generate unique identifiers. The class attribute specifies a Java
  896. class implementing an id generation algorithm. -->
  897.  
  898. <!ELEMENT generator (param*)>
  899. <!ATTLIST generator class CDATA #REQUIRED>
  900. <!ELEMENT param (#PCDATA)>
  901. <!ATTLIST param name CDATA #REQUIRED>
  902.  
  903. <!-- The column element is an alternative to column attributes and required for
  904. mapping associations to classes with composite ids. -->
  905.  
  906. <!ELEMENT column (comment?)>
  907. <!ATTLIST column name CDATA #REQUIRED>
  908. <!ATTLIST column length CDATA #IMPLIED> <!-- default: 255 -->
  909. <!ATTLIST column precision CDATA #IMPLIED>
  910. <!ATTLIST column scale CDATA #IMPLIED>
  911. <!ATTLIST column not-null (true|false) #IMPLIED> <!-- default: false (except for id properties) -->
  912. <!ATTLIST column unique (true|false) #IMPLIED> <!-- default: false (except for id properties) -->
  913. <!ATTLIST column unique-key CDATA #IMPLIED> <!-- default: no unique key -->
  914. <!ATTLIST column sql-type CDATA #IMPLIED> <!-- override default column type for hibernate type -->
  915. <!ATTLIST column index CDATA #IMPLIED>
  916. <!ATTLIST column check CDATA #IMPLIED> <!-- default: no check constraint -->
  917. <!ATTLIST column default CDATA #IMPLIED> <!-- default: no default value -->
  918. <!ATTLIST column read CDATA #IMPLIED> <!-- default: column name -->
  919. <!ATTLIST column write CDATA #IMPLIED> <!-- default: parameter placeholder ('?') -->
  920.  
  921. <!-- The formula and subselect elements allow us to map derived properties and
  922. entities. -->
  923.  
  924. <!ELEMENT formula (#PCDATA)>
  925. <!ELEMENT subselect (#PCDATA)>
  926.  
  927. <!-- The cache element enables caching of an entity class. -->
  928. <!ELEMENT cache EMPTY>
  929. <!ATTLIST cache usage (read-only|read-write|nonstrict-read-write|transactional) #REQUIRED>
  930. <!ATTLIST cache region CDATA #IMPLIED> <!-- default: class or collection role name -->
  931. <!ATTLIST cache include (all|non-lazy) "all">
  932.  
  933. <!-- The comment element allows definition of a database table or column comment. -->
  934.  
  935. <!ELEMENT comment (#PCDATA)>
  936.  
  937. <!-- The loader element allows specification of a named query to be used for fetching
  938. an entity or collection -->
  939.  
  940. <!ELEMENT loader EMPTY>
  941. <!ATTLIST loader query-ref CDATA #REQUIRED>
  942.  
  943. <!-- The query element declares a named Hibernate query string -->
  944.  
  945. <!ELEMENT query (#PCDATA|query-param)*>
  946. <!ATTLIST query name CDATA #REQUIRED>
  947. <!ATTLIST query flush-mode (auto|never|always) #IMPLIED>
  948. <!ATTLIST query cacheable (true|false) "false">
  949. <!ATTLIST query cache-region CDATA #IMPLIED>
  950. <!ATTLIST query fetch-size CDATA #IMPLIED>
  951. <!ATTLIST query timeout CDATA #IMPLIED>
  952. <!ATTLIST query cache-mode (get|ignore|normal|put|refresh) #IMPLIED>
  953. <!ATTLIST query read-only (true|false) #IMPLIED>
  954. <!ATTLIST query comment CDATA #IMPLIED>
  955.  
  956. <!-- The sql-query element declares a named SQL query string -->
  957.  
  958. <!ELEMENT sql-query (#PCDATA|return-scalar|return|return-join|load-collection|synchronize|query-param)*>
  959. <!ATTLIST sql-query name CDATA #REQUIRED>
  960. <!ATTLIST sql-query resultset-ref CDATA #IMPLIED>
  961. <!ATTLIST sql-query flush-mode (auto|never|always) #IMPLIED>
  962. <!ATTLIST sql-query cacheable (true|false) "false">
  963. <!ATTLIST sql-query cache-region CDATA #IMPLIED>
  964. <!ATTLIST sql-query fetch-size CDATA #IMPLIED>
  965. <!ATTLIST sql-query timeout CDATA #IMPLIED>
  966. <!ATTLIST sql-query cache-mode (get|ignore|normal|put|refresh) #IMPLIED>
  967. <!ATTLIST sql-query read-only (true|false) #IMPLIED>
  968. <!ATTLIST sql-query comment CDATA #IMPLIED>
  969. <!ATTLIST sql-query callable (true|false) "false">
  970.  
  971. <!-- The query-param element is used only by tools that generate
  972. finder methods for named queries -->
  973.  
  974. <!ELEMENT query-param EMPTY>
  975. <!ATTLIST query-param name CDATA #REQUIRED>
  976. <!ATTLIST query-param type CDATA #REQUIRED>
  977.  
  978. <!-- The resultset element declares a named resultset mapping definition for SQL queries -->
  979. <!ELEMENT resultset (return-scalar|return|return-join|load-collection)*>
  980. <!ATTLIST resultset name CDATA #REQUIRED>
  981.  
  982. <!--
  983. Defines a return component for a sql-query. Alias refers to the alias
  984. used in the actual sql query; lock-mode specifies the locking to be applied
  985. when the query is executed. The class, collection, and role attributes are mutually exclusive;
  986. class refers to the class name of a "root entity" in the object result; collection refers
  987. to a collection of a given class and is used to define custom sql to load that owned collection
  988. and takes the form "ClassName.propertyName"; role refers to the property path for an eager fetch
  989. and takes the form "owningAlias.propertyName"
  990. -->
  991. <!ELEMENT return (return-discriminator?,return-property)*>
  992. <!ATTLIST return alias CDATA #IMPLIED>
  993. <!ATTLIST return entity-name CDATA #IMPLIED>
  994. <!ATTLIST return class CDATA #IMPLIED>
  995. <!ATTLIST return lock-mode (none|read|upgrade|upgrade-nowait|write) "read">
  996.  
  997. <!ELEMENT return-property (return-column*)>
  998. <!ATTLIST return-property name CDATA #REQUIRED>
  999. <!ATTLIST return-property column CDATA #IMPLIED>
  1000.  
  1001. <!ELEMENT return-column EMPTY>
  1002. <!ATTLIST return-column name CDATA #REQUIRED>
  1003.  
  1004. <!ELEMENT return-discriminator EMPTY>
  1005. <!ATTLIST return-discriminator column CDATA #REQUIRED>
  1006.  
  1007. <!ELEMENT return-join (return-property)*>
  1008. <!ATTLIST return-join alias CDATA #REQUIRED>
  1009. <!ATTLIST return-join property CDATA #REQUIRED>
  1010. <!ATTLIST return-join lock-mode (none|read|upgrade|upgrade-nowait|write) "read">
  1011.  
  1012. <!ELEMENT load-collection (return-property)*>
  1013. <!ATTLIST load-collection alias CDATA #REQUIRED>
  1014. <!ATTLIST load-collection role CDATA #REQUIRED>
  1015. <!ATTLIST load-collection lock-mode (none|read|upgrade|upgrade-nowait|write) "read">
  1016.  
  1017. <!ELEMENT return-scalar EMPTY>
  1018. <!ATTLIST return-scalar column CDATA #REQUIRED>
  1019. <!ATTLIST return-scalar type CDATA #IMPLIED>
  1020.  
  1021. <!ELEMENT synchronize EMPTY>
  1022. <!ATTLIST synchronize table CDATA #REQUIRED>
  1023.  
  1024. <!-- custom sql operations -->
  1025. <!ELEMENT sql-insert (#PCDATA)>
  1026. <!ATTLIST sql-insert callable (true|false) "false">
  1027. <!ATTLIST sql-insert check (none|rowcount|param) #IMPLIED>
  1028.  
  1029. <!ELEMENT sql-update (#PCDATA)>
  1030. <!ATTLIST sql-update callable (true|false) "false">
  1031. <!ATTLIST sql-update check (none|rowcount|param) #IMPLIED>
  1032.  
  1033. <!ELEMENT sql-delete (#PCDATA)>
  1034. <!ATTLIST sql-delete callable (true|false) "false">
  1035. <!ATTLIST sql-delete check (none|rowcount|param) #IMPLIED>
  1036.  
  1037. <!ELEMENT sql-delete-all (#PCDATA)>
  1038. <!ATTLIST sql-delete-all callable (true|false) "false">
  1039. <!ATTLIST sql-delete-all check (none|rowcount|param) #IMPLIED>
  1040.  
  1041. <!--
  1042. Element for defining "auxiliary" database objects. Must be one of two forms:
  1043.  
  1044. #1 :
  1045. <database-object>
  1046. <definition class="CustomClassExtendingAuxiliaryObject"/>
  1047. </database-object>
  1048.  
  1049. #2 :
  1050. <database-object>
  1051. <create>CREATE OR REPLACE ....</create>
  1052. <drop>DROP ....</drop>
  1053. </database-object>
  1054. -->
  1055. <!ELEMENT database-object ( (definition|(create,drop)), dialect-scope* )>
  1056.  
  1057. <!ELEMENT definition EMPTY>
  1058. <!ATTLIST definition class CDATA #REQUIRED>
  1059.  
  1060. <!ELEMENT create (#PCDATA)>
  1061. <!ELEMENT drop (#PCDATA)>
  1062.  
  1063. <!--
  1064. dialect-scope element allows scoping auxiliary-objects to a particular
  1065. Hibernate dialect implementation.
  1066. -->
  1067. <!ELEMENT dialect-scope (#PCDATA)>
  1068. <!ATTLIST dialect-scope name CDATA #REQUIRED>

hibernate-mapping-3.0.dtd

hibernate.properties

 #
# Hibernate, Relational Persistence for Idiomatic Java
#
# License: GNU Lesser General Public License (LGPL), version 2.1 or later.
# See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
# ######################
### Query Language ###
###################### ## define query language constants / function names hibernate.query.substitutions yes 'Y', no 'N' ## select the classic query parser #hibernate.query.factory_class org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory #################
### Platforms ###
################# ## JNDI Datasource #hibernate.connection.datasource jdbc/test
#hibernate.connection.username db2
#hibernate.connection.password db2 ## HypersonicSQL hibernate.dialect org.hibernate.dialect.HSQLDialect
hibernate.connection.driver_class org.hsqldb.jdbcDriver
hibernate.connection.username sa
hibernate.connection.password
hibernate.connection.url jdbc:hsqldb:./build/db/hsqldb/hibernate
#hibernate.connection.url jdbc:hsqldb:hsql://localhost
#hibernate.connection.url jdbc:hsqldb:test ## H2 (www.h2database.com)
#hibernate.dialect org.hibernate.dialect.H2Dialect
#hibernate.connection.driver_class org.h2.Driver
#hibernate.connection.username sa
#hibernate.connection.password
#hibernate.connection.url jdbc:h2:mem:./build/db/h2/hibernate
#hibernate.connection.url jdbc:h2:testdb/h2test
#hibernate.connection.url jdbc:h2:mem:imdb1
#hibernate.connection.url jdbc:h2:tcp://dbserv:8084/sample;
#hibernate.connection.url jdbc:h2:ssl://secureserv:8085/sample;
#hibernate.connection.url jdbc:h2:ssl://secureserv/testdb;cipher=AES ## MySQL
#org.hibernate.dialect.MySQLDialect 配置数据方言
#hibernate.dialect org.hibernate.dialect.MySQLDialect #hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect #hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
#数据的四大参数配置
#hibernate.connection.driver_class com.mysql.jdbc.Driver
#hibernate.connection.url jdbc:mysql:///test
#hibernate.connection.username gavin
#hibernate.connection.password ## Oracle #hibernate.dialect org.hibernate.dialect.Oracle8iDialect
#hibernate.dialect org.hibernate.dialect.Oracle9iDialect
#hibernate.dialect org.hibernate.dialect.Oracle10gDialect
#hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver
#hibernate.connection.username ora
#hibernate.connection.password ora
#hibernate.connection.url jdbc:oracle:thin:@localhost:1521:orcl
#hibernate.connection.url jdbc:oracle:thin:@localhost:1522:XE ## PostgreSQL #hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
#hibernate.connection.driver_class org.postgresql.Driver
#hibernate.connection.url jdbc:postgresql:template1
#hibernate.connection.username pg
#hibernate.connection.password ## DB2 #hibernate.dialect org.hibernate.dialect.DB2Dialect
#hibernate.connection.driver_class com.ibm.db2.jcc.DB2Driver
#hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver
#hibernate.connection.url jdbc:db2://localhost:50000/somename
#hibernate.connection.url jdbc:db2:somename
#hibernate.connection.username db2
#hibernate.connection.password db2 ## TimesTen #hibernate.dialect org.hibernate.dialect.TimesTenDialect
#hibernate.connection.driver_class com.timesten.jdbc.TimesTenDriver
#hibernate.connection.url jdbc:timesten:direct:test
#hibernate.connection.username
#hibernate.connection.password ## DB2/400 #hibernate.dialect org.hibernate.dialect.DB2400Dialect
#hibernate.connection.username user
#hibernate.connection.password password ## Native driver
#hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver
#hibernate.connection.url jdbc:db2://systemname ## Toolbox driver
#hibernate.connection.driver_class com.ibm.as400.access.AS400JDBCDriver
#hibernate.connection.url jdbc:as400://systemname ## Derby (not supported!) #hibernate.dialect org.hibernate.dialect.DerbyDialect
#hibernate.connection.driver_class org.apache.derby.jdbc.EmbeddedDriver
#hibernate.connection.username
#hibernate.connection.password
#hibernate.connection.url jdbc:derby:build/db/derby/hibernate;create=true ## Sybase #hibernate.dialect org.hibernate.dialect.SybaseDialect
#hibernate.connection.driver_class com.sybase.jdbc2.jdbc.SybDriver
#hibernate.connection.username sa
#hibernate.connection.password sasasa
#hibernate.connection.url jdbc:sybase:Tds:co3061835-a:5000/tempdb ## Mckoi SQL #hibernate.dialect org.hibernate.dialect.MckoiDialect
#hibernate.connection.driver_class com.mckoi.JDBCDriver
#hibernate.connection.url jdbc:mckoi:///
#hibernate.connection.url jdbc:mckoi:local://C:/mckoi1.0.3/db.conf
#hibernate.connection.username admin
#hibernate.connection.password nimda ## SAP DB #hibernate.dialect org.hibernate.dialect.SAPDBDialect
#hibernate.connection.driver_class com.sap.dbtech.jdbc.DriverSapDB
#hibernate.connection.url jdbc:sapdb://localhost/TST
#hibernate.connection.username TEST
#hibernate.connection.password TEST
#hibernate.query.substitutions yes 'Y', no 'N' ## MS SQL Server #hibernate.dialect org.hibernate.dialect.SQLServerDialect
#hibernate.connection.username sa
#hibernate.connection.password sa ## JSQL Driver
#hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver
#hibernate.connection.url jdbc:JSQLConnect://1E1/test ## JTURBO Driver
#hibernate.connection.driver_class com.newatlanta.jturbo.driver.Driver
#hibernate.connection.url jdbc:JTurbo://1E1:1433/test ## WebLogic Driver
#hibernate.connection.driver_class weblogic.jdbc.mssqlserver4.Driver
#hibernate.connection.url jdbc:weblogic:mssqlserver4:1E1:1433 ## Microsoft Driver (not recommended!)
#hibernate.connection.driver_class com.microsoft.jdbc.sqlserver.SQLServerDriver
#hibernate.connection.url jdbc:microsoft:sqlserver://1E1;DatabaseName=test;SelectMethod=cursor ## The New Microsoft Driver
#hibernate.connection.driver_class com.microsoft.sqlserver.jdbc.SQLServerDriver
#hibernate.connection.url jdbc:sqlserver://localhost ## jTDS (since version 0.9)
#hibernate.connection.driver_class net.sourceforge.jtds.jdbc.Driver
#hibernate.connection.url jdbc:jtds:sqlserver://1E1/test ## Interbase #hibernate.dialect org.hibernate.dialect.InterbaseDialect
#hibernate.connection.username sysdba
#hibernate.connection.password masterkey ## DO NOT specify hibernate.connection.sqlDialect ## InterClient #hibernate.connection.driver_class interbase.interclient.Driver
#hibernate.connection.url jdbc:interbase://localhost:3060/C:/firebird/test.gdb ## Pure Java #hibernate.connection.driver_class org.firebirdsql.jdbc.FBDriver
#hibernate.connection.url jdbc:firebirdsql:localhost/3050:/firebird/test.gdb ## Pointbase #hibernate.dialect org.hibernate.dialect.PointbaseDialect
#hibernate.connection.driver_class com.pointbase.jdbc.jdbcUniversalDriver
#hibernate.connection.url jdbc:pointbase:embedded:sample
#hibernate.connection.username PBPUBLIC
#hibernate.connection.password PBPUBLIC ## Ingres ## older versions (before Ingress 2006) #hibernate.dialect org.hibernate.dialect.IngresDialect
#hibernate.connection.driver_class ca.edbc.jdbc.EdbcDriver
#hibernate.connection.url jdbc:edbc://localhost:II7/database
#hibernate.connection.username user
#hibernate.connection.password password ## Ingres 2006 or later #hibernate.dialect org.hibernate.dialect.IngresDialect
#hibernate.connection.driver_class com.ingres.jdbc.IngresDriver
#hibernate.connection.url jdbc:ingres://localhost:II7/database;CURSOR=READONLY;auto=multi
#hibernate.connection.username user
#hibernate.connection.password password ## Mimer SQL #hibernate.dialect org.hibernate.dialect.MimerSQLDialect
#hibernate.connection.driver_class com.mimer.jdbc.Driver
#hibernate.connection.url jdbc:mimer:multi1
#hibernate.connection.username hibernate
#hibernate.connection.password hibernate ## InterSystems Cache #hibernate.dialect org.hibernate.dialect.Cache71Dialect
#hibernate.connection.driver_class com.intersys.jdbc.CacheDriver
#hibernate.connection.username _SYSTEM
#hibernate.connection.password SYS
#hibernate.connection.url jdbc:Cache://127.0.0.1:1972/HIBERNATE #################################
### Hibernate Connection Pool ###
################################# hibernate.connection.pool_size 1 ###########################
### C3P0 Connection Pool###
########################### #hibernate.c3p0.max_size 2
#hibernate.c3p0.min_size 2
#hibernate.c3p0.timeout 5000
#hibernate.c3p0.max_statements 100
#hibernate.c3p0.idle_test_period 3000
#hibernate.c3p0.acquire_increment 2
#hibernate.c3p0.validate false ##############################
### Proxool Connection Pool###
############################## ## Properties for external configuration of Proxool hibernate.proxool.pool_alias pool1 ## Only need one of the following #hibernate.proxool.existing_pool true
#hibernate.proxool.xml proxool.xml
#hibernate.proxool.properties proxool.properties #################################
### Plugin ConnectionProvider ###
################################# ## use a custom ConnectionProvider (if not set, Hibernate will choose a built-in ConnectionProvider using hueristics) #hibernate.connection.provider_class org.hibernate.connection.DriverManagerConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.DatasourceConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.C3P0ConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.ProxoolConnectionProvider #######################
### Transaction API ###
####################### ## Enable automatic flush during the JTA beforeCompletion() callback
## (This setting is relevant with or without the Transaction API) #hibernate.transaction.flush_before_completion ## Enable automatic session close at the end of transaction
## (This setting is relevant with or without the Transaction API) #hibernate.transaction.auto_close_session ## the Transaction API abstracts application code from the underlying JTA or JDBC transactions #hibernate.transaction.factory_class org.hibernate.transaction.JTATransactionFactory
#hibernate.transaction.factory_class org.hibernate.transaction.JDBCTransactionFactory ## to use JTATransactionFactory, Hibernate must be able to locate the UserTransaction in JNDI
## default is java:comp/UserTransaction
## you do NOT need this setting if you specify hibernate.transaction.manager_lookup_class #jta.UserTransaction jta/usertransaction
#jta.UserTransaction javax.transaction.UserTransaction
#jta.UserTransaction UserTransaction ## to use the second-level cache with JTA, Hibernate must be able to obtain the JTA TransactionManager #hibernate.transaction.manager_lookup_class org.hibernate.transaction.JBossTransactionManagerLookup
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.WeblogicTransactionManagerLookup
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.WebSphereTransactionManagerLookup
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.OrionTransactionManagerLookup
#hibernate.transaction.manager_lookup_class org.hibernate.transaction.ResinTransactionManagerLookup ##############################
### Miscellaneous Settings ###
############################## ## print all generated SQL to the console #输出底层的sql语句:true输出,false不输出
#hibernate.show_sql true ## format SQL in log and console
#对sql语句进行格式化
hibernate.format_sql true ## add comments to the generated SQL #hibernate.use_sql_comments true ## generate statistics #hibernate.generate_statistics true ## auto schema export
#ddl数据定义语言
#hibernate.hbm2ddl.auto create-drop
#hibernate.hbm2ddl.auto create
#自动创建并更新表(有表,更新)
#hibernate.hbm2ddl.auto update
#hibernate.hbm2ddl.auto validate ## specify a default schema and catalog for unqualified tablenames #hibernate.default_schema test
#hibernate.default_catalog test ## enable ordering of SQL UPDATEs by primary key #hibernate.order_updates true ## set the maximum depth of the outer join fetch tree hibernate.max_fetch_depth 1 ## set the default batch size for batch fetching #hibernate.default_batch_fetch_size 8 ## rollback generated identifier values of deleted entities to default values #hibernate.use_identifer_rollback true ## enable bytecode reflection optimizer (disabled by default) #hibernate.bytecode.use_reflection_optimizer true #####################
### JDBC Settings ###
##################### ## specify a JDBC isolation level #hibernate.connection.isolation 4 ## enable JDBC autocommit (not recommended!) #hibernate.connection.autocommit true ## set the JDBC fetch size #hibernate.jdbc.fetch_size 25 ## set the maximum JDBC 2 batch size (a nonzero value enables batching) #hibernate.jdbc.batch_size 5
#hibernate.jdbc.batch_size 0 ## enable batch updates even for versioned data hibernate.jdbc.batch_versioned_data true ## enable use of JDBC 2 scrollable ResultSets (specifying a Dialect will cause Hibernate to use a sensible default) #hibernate.jdbc.use_scrollable_resultset true ## use streams when writing binary types to / from JDBC hibernate.jdbc.use_streams_for_binary true ## use JDBC 3 PreparedStatement.getGeneratedKeys() to get the identifier of an inserted row #hibernate.jdbc.use_get_generated_keys false ## choose a custom JDBC batcher # hibernate.jdbc.factory_class ## enable JDBC result set column alias caching
## (minor performance enhancement for broken JDBC drivers) # hibernate.jdbc.wrap_result_sets ## choose a custom SQL exception converter #hibernate.jdbc.sql_exception_converter ##########################
### Second-level Cache ###
########################## ## optimize cache for minimal "puts" instead of minimal "gets" (good for clustered cache) #hibernate.cache.use_minimal_puts true ## set a prefix for cache region names hibernate.cache.region_prefix hibernate.test ## disable the second-level cache #hibernate.cache.use_second_level_cache false ## enable the query cache #hibernate.cache.use_query_cache true ## store the second-level cache entries in a more human-friendly format #hibernate.cache.use_structured_entries true ## choose a cache implementation #hibernate.cache.region.factory_class org.hibernate.cache.infinispan.InfinispanRegionFactory
#hibernate.cache.region.factory_class org.hibernate.cache.infinispan.JndiInfinispanRegionFactory
#hibernate.cache.region.factory_class org.hibernate.cache.internal.EhCacheRegionFactory
#hibernate.cache.region.factory_class org.hibernate.cache.internal.SingletonEhCacheRegionFactory
hibernate.cache.region.factory_class org.hibernate.cache.internal.NoCachingRegionFactory ## choose a custom query cache implementation #hibernate.cache.query_cache_factory ############
### JNDI ###
############ ## specify a JNDI name for the SessionFactory #hibernate.session_factory_name hibernate/session_factory ## Hibernate uses JNDI to bind a name to a SessionFactory and to look up the JTA UserTransaction;
## if hibernate.jndi.* are not specified, Hibernate will use the default InitialContext() which
## is the best approach in an application server #file system
#hibernate.jndi.class com.sun.jndi.fscontext.RefFSContextFactory
#hibernate.jndi.url file:/ #WebSphere
#hibernate.jndi.class com.ibm.websphere.naming.WsnInitialContextFactory
#hibernate.jndi.url iiop://localhost:900/

hibernate.properties

Hibernate的dtd文件和properties文件的更多相关文章

  1. JBoss 系列十四:JBoss7/WildFly如何加载外部的文件或properties文件

    http://www.tuicool.com/articles/M7ZR3y 原文 http://blog.csdn.net/kylinsoong/article/details/12623997 主 ...

  2. Maven运行时找不到xml文件和properties文件的问题解决

    使用Maven构建的项目,包下面的xml文件和properties属性文件默认在运行tomcat插件是不会生成文件到target里面的,需要自己配置 一.第一种解决方法也是最常用的解决方法 在pom. ...

  3. 文件处理----Properties文件处理

    properties是一种属性文件,这种文件以key=value格式存储内容,代码中可以使用Properties类来读取这个文件,然后得到数据. 当配置文件用,由于难以表达层次,复杂点可以使用xml做 ...

  4. 从XML文件和properties文件提取数据

    XML文档格式内容如下 <?xml version="1.0" encoding="UTF-8"?> <root>     <fi ...

  5. Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件

    //生成一个文件对象: File file = new File(getClass().getClassLoader().getResource("test.xml").getPa ...

  6. mybatis mybatis.xml 文件和properties文件结合来进行配置数据源

  7. java代码和spring框架读取xml和properties文件

    1.java文件读取properties文件 Properties props = new Properties(); try { //资源文件存放在类文件的根目录下.即是放在src下面.则不需要写路 ...

  8. Properties文件工具类的使用--获取所有的键值、删除键、更新键等操作

    有时候我们希望处理properties文件,properties文件是键值对的文件形式,我们可以借助Properties类操作. 工具类如下:(代码中日志采用了slf4j日志) package cn. ...

  9. spring boot mybatis XML文件读取properties配置信息

    配置文件application.properties中相关配置信息可以在部署以后修改,引用配置信息可以在代码和mybatis的映射文件中 1.JAVA代码 可以通过变量去读取 application. ...

随机推荐

  1. 05-CSS浮动、定位、页面布局

    # 浮动 ### 文档流文档流,是指盒子按照html标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置. # ...

  2. 03-CSS颜色、文本、字体、边框、背景

    # Css颜色,文本字体 ## css颜色表示法1.颜色名表示,比如:red 红色,gold 金色 2.16进制数值表示,比如:#ff0000 表示红色,这种可以简写成 #f00 3.RGB颜色: 红 ...

  3. js的事件流理解

    面试问到js的事件流,当时说的不是很清楚,现在觉得有必要把这个弄清楚. 事件捕获和事件冒泡 事件流描述的是从页面中接收事件的顺序,也可理解为事件在页面中传播的顺序. 事件流主要分为两种,即事件捕获和事 ...

  4. webpack之给目录起别名

    1. 配置文件目录: build>webpack.base.config.js: resolve: { alias: { '@': resolve('src'), //照猫画虎 'styles' ...

  5. paste - 合并文件各行

    总览 (SYNOPSIS) ../src/paste [OPTION]... [FILE]... 描述 (DESCRIPTION) 连续 依次 从 各个 文件 FILE 中 读取 一行 然后 合并成 ...

  6. 【转】C/C++产生随机数

    转自:https://www.cnblogs.com/vectors07/p/8185215.html C/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里 ...

  7. 14DBCP连接池

    实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection.这样我们就不需要每次都创建连接.释放连接了,这些操作 ...

  8. less:注释

    less有两种注释方法,一种是// 一种是/**/ 这两者的区别是/**/是会被编译成css里面,而//则不会 举个例子(使用的less在线编译器) 我们看到//注释并没有编译到css里面

  9. CF9D How many trees? (dp)

    这题我想了好久 设 \(f_{i,j}\) 为 \(i\) 结点 \(<=j\) 的方案数 固定根,枚举左右子树,就有: \[f_{i,j}=\sum_{k=0}^{n-1}f_{k,j-1}* ...

  10. 前端自动化gulp使用方法

    gulp介绍 1. 网站: http://slides.com/contra/gulp#/ 2. 特点 易于使用:通过代码优于配置的策略, Gulp 让简单的任务简单,复杂的任务可管理. 构建快速 : ...