Spring 数据其余:投影

Spring data rest: projection

有什么方法可以"inline"(不嵌入)实体到投影中,而无需手动复制 getter 并手动保持 em 同步?

示例:

Entity
 f1
 f2
 f3

Projection
 @Inline(Entity.class)

变成:

Projection
 getF1()
 getF2()
 getF3()

我看到的唯一方法是在实体中实现投影,但这与我对 Lombok 的使用不太匹配,如果投影具有实体没有的其他字段,它就不再有效(这需要一个额外的接口)。

有什么想法吗?

不太确定您要通过此实现什么 - 投影用于提供不同的数据视图 - 因此在许多情况下它们不会完全匹配您的实体结构。如果你担心代码重复,你可以有一个通用接口,你的实体和投影 extend/implement.

这就是我现在所做的,使用实体和投影的通用接口。 该接口仅包含与投影相关的getter。