在工作中,我一直在使用我们的内部 ORM(2000 年之前),我们正在考虑为我们的 java 迁移到另一个 ORM 解决方案,但是有一些特定的要求。有谁知道支持这些请求的任何形式或 ORM?
支持继承:在我们的java中,我们有一个相当深的继承结构,目前如果我在“顶部”向一个类添加一个属性,那么我必须手动编辑ORM过程(在SQL中)为每个类添加新类子类
支持装饰器表:我们的一些类需要能够存储针对特定对象的任何(用户提供的)属性,目前这只是一个将 Item Id 匹配到包含 FieldName 和 FieldValue 的行的表,我们提取所有这些作为属性。请参阅下文以获得更好的解释。
内置对象持久性,因此对象仅在请求时才加载和写入数据库,否则留在内存中。如果您完成后可以自动保存任何更改,而不必打电话
.save()
(尽管有潜在危险?)像往常一样,易于使用(最好 - 这不是我们都想要的吗?)和良好的性能
感谢您抽出宝贵时间,很高兴用我们选择的内容、原因以及我们在实施过程中发现的一些提示来更新问题!
#2的进一步解释:
(请不要问为什么一定要这样,改变它是这个项目的“超出范围”)
物品表:
ItemId | Type | Price
-------|-------|-------
1 | Mouse | 9.99
2 | Dog | 12.99
装饰表:
ItemId | FieldName | Value
-------|-----------|-------
1 | Age | 12
2 | Breed | Blue Long Hair
2 | Name | Fluffy
物品对象:
Item1
ItemId -> 1
Type -> Mouse
Price -> 9.99
Age -> 12
Item2
ItemId -> 2
Type -> Dog
Price -> 12.99
Breed -> Blue Long Hair
Name -> Fluffy