|
Flexible MappingThree basic inheritance mapping strategiesThree mapping strategies are supported:
Both column based and content based type discrimination are supported for table-per-hierarchy and table-per-subclass mappings! Polymorphic associationsFor all three mapping strategies!
Any association may be mapped to a foreign key which references a non-primary unique key Foreign keys themselves may even be composed of columns, SQL formulas and/or literals Bidirectional associationsfor all association styles Transitive persistenceAssociations may be configured for cascading save, delete, and/or reattachment. This is our approach to what some projects call "persistence by reachablity" or "dependent objects". Hibernate's approach gives maximimum flexibility and performance. Hibernate FiltersA unique, innovative feature for handling temporal, regional or permissioned data efficiently and elegantly in ORM Multiple-objects to single-row mapping"Components" allow for use of fine-grained object composition Single-object to multiple-table mappingProperties of a single class may be arbitarily mapped across several tables Derived entities and attributes
Collections of basic typesCollections of strings, dates, numbers, components, etc. Indexed collectionsmaps, lists, arrays may be persisted as key-value pairs Composite Collection ElementsAllows an object oriented representation of:
Support for hand-written SQLHibernate's generated SQL may be anywhere overridden by handwritten SQL embedded in the mapping document Support for stored proceduresIt is even possible to call a stored procedures for create/update/delete, or as a query Multiple surrogate key generation strategiesincluding built-in support for
Support for natural and composite keysPrimary keys may span multiple properties of a class, or may be defined in a seperate primary key class |
|||||||||||||