mention dynamic models and Envers
This commit is contained in:
parent
eb21b1e052
commit
23de8a5e5d
|
@ -23,6 +23,22 @@ An entity usually has associations to other entities.
|
||||||
Typically, an association between two entities maps to a foreign key in one of the database tables.
|
Typically, an association between two entities maps to a foreign key in one of the database tables.
|
||||||
A group of mutually associated entities is often called a _domain model_, though _data model_ is also a perfectly good term.
|
A group of mutually associated entities is often called a _domain model_, though _data model_ is also a perfectly good term.
|
||||||
|
|
||||||
|
."Dynamic" models
|
||||||
|
****
|
||||||
|
:maps: {userGuideBase}#dynamic-model
|
||||||
|
:envers: https://hibernate.org/orm/envers/
|
||||||
|
We love representing entities as classes because the classes give us a _type-safe_ model of our data.
|
||||||
|
But actually, not every entity needs to be a Java class.
|
||||||
|
Hibernate also has the ability to represent entities as detyped instances of `java.util.Map`, and associations between entities as maps "containing" other maps.
|
||||||
|
This must sound like a sort-of weird feature for a project that places so much importance on type-safety.
|
||||||
|
|
||||||
|
But actually, this is a useful capability for a very particular sort of generic code.
|
||||||
|
The canonical demonstration of this is {envers}[Hibernate Envers], which is a great auditing/versioning system for programs that use Hibernate.
|
||||||
|
Envers makes use of maps to represent a _versioned model_ of the data.
|
||||||
|
You can find more information in the {maps}[User Guide], if you're curious.
|
||||||
|
****
|
||||||
|
|
||||||
|
|
||||||
[[entity-clases]]
|
[[entity-clases]]
|
||||||
=== Entity classes
|
=== Entity classes
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue