use*_*026 5 orm hibernate data-structures
我有这个庞大的数据结构 - 我想避免为每种类型指定类...
使用hibernate,这个结构可以这样实现,当添加新物种或外键时 - 不需要重新编译吗?
Animal
|
Birds
| Parakeet
| Love Bird -> [one to many:visit record]
| Budgerigar -> [one to many:visit record]
Mammals
| Dog -> [one to many:vaccinations] [one to many:visit record] [one to many:Haircuts]
| Cat -> [one to many:vaccinations] [one to many:visit record]
| Horse -> [one to many:vaccinations] [one to many:Horse breeding]
Tree is about 100+ types of animals
Run Code Online (Sandbox Code Playgroud)
所以例如 -
例1:我可以添加其他类型而无需重新编译代码
| Cow -> [one to many:vaccinations] -> [one to many:pregnancy dates]
Run Code Online (Sandbox Code Playgroud)
示例2:在实体之间创建动态链接的能力
| Horse -> [one to many:vaccinations] [one to many:Horse breeding]
LinkToOwner-> [one to one: owner]
Run Code Online (Sandbox Code Playgroud)
Hibernate动态映射是针对此用例的推荐解决方案。通过动态 Hibernate 映射,所有内容都会映射到 Java 映射中,其中键是字符串,值是 String、Integer 等类型或其他映射。
因此,在您的示例中,您将获得一个包含两个条目的地图,其中键为“鸟类”和“哺乳动物”,它们本身就是地图。
哺乳动物值将是一个包含 3 个条目“狗”、“猫”和“马”的地图。“Cat”值将是一个包含两个条目的地图:“疫苗接种”和“访问记录”等。
动态映射可以与更常用的静态映射一起使用。
动态映射不是 Hibernate 最常用的功能,但它们长期以来都很稳定,并且是专门针对此用例而设计的。
| 归档时间: |
|
| 查看次数: |
956 次 |
| 最近记录: |