什么是Spring Data的PersistentEntity?

时间:2016-06-29 22:00:25

标签: java spring spring-data

我已经阅读了PersistentPropertyPersistentEntityBasicPersistentEntity等的JavaDoc和源代码,但仍然不清楚这些对象是什么。

这些数据对象吗? 或者他们描述数据模型?

如果它们是数据对象,那么数据在哪里?例如,在PersistentProperty中,我看到了该属性的nametype,但没有值。

1 个答案:

答案 0 :(得分:7)

这是关于我们持久存在的类型的Spring Data特定元模型。它们允许我们独立于后备存储(JPA,MongoDB等)检查模型类,它们具有表达关联,标识符属性等的所有不同方法等。

在Spring Data REST中大量使用它来自定义为导出的HTTP资源呈现的表示。此外,实现其自己的商店到对象映射的商店模块使用这些抽象大量检查域模型。在JPA案例中,实现基本上由JPA Metamodel实例支持。

也就是说,API的目的是提供必要的元数据。它与首先从对象中查找值无关。但是,PersistentEntity公开getPropertyAccessor(…)getIdentifierAccessor(…),它们可用于获取允许对实体实例进行属性或标识符查找的对象(请参阅PersistentPropertyAccessor及其实现以及{ {1}})。